
1 blackboar 2017 年 3 月 30 日 你的疑问貌似可以很简单就能验证吧 |
2 justfun 2017 年 3 月 30 日 via iPhone 没研究过,应该不会禁国外 IP 吧。既然你本机都可以了 试试用国内代理访问呗 |
4 hastelloy OP 2017 年 3 月 30 日 via Android @justfun 手头上没有稳定的国内 vpn , 所以想问问是不是通过修改登录请求的 headers 什么的解决,或者 51job 有没有什么对国际访问的 ip 什么的 |
5 ju5t4fun 2017 年 3 月 30 日 是不是被检测到异地登录了 |
7 winfirm 2017 年 3 月 30 日 大概是去年偶而登录一下 51job ,感觉每次登录都要至少两次才成功。 第一次输入用户名密码,密码确定是对的,然按确定不能成功,会跳到带验证码的登录输入页面,然后再输入一遍,这才能成功进入个人管理页面。 |
9 cranelee13 2017 年 3 月 30 日 直接在头部添加登录后的 Cookie 不行么? |
10 ioth 2017 年 3 月 30 日 你都没说怎么不行,什么情景 难道让别人给你试? 再说你可真不是没事,是接到活了吧 |
11 crab 2017 年 3 月 30 日 IP 黑名单了吧?直接在服务器请求看下返回信息 |
12 hastelloy OP username = "" password = "" s = requests.session() url_login = "http://m.51job.com/my/login.php" url_login_post = "http://m.51job.com/ajax/my/login.ajax.php" url_refresh = "http://m.51job.com/ajax/resume/refreshresume.ajax.php" resume_id = "" uagent = "Mozilla/5.0 (Linux; Android 4.0.4; \ Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) \ Chrome/18.0.1025.133 Mobile Safari/535.19" headers = { "user-agent": uagent, } rsp1 = s.get(url_login) params_login = { "username": username, "password": password, "verifycode": "", "autologin": "0" } rsp2 = s.post(url_login_post, headers=headers, data=params_login) rsp2.encoding = 'utf-8' jsn = json.loads(rsp2.text) if not jsn['status'] == "1": raise LoginError("51job login error") EC2 上跑的话直接 Timeout,之前抓异地登陆的结果是能正常返回 Json, 里面 status 为 1, requests.exceptions.Timeout: (<urllib3.connectionpool.HTTPConnectionPool object at 0x7ff0bbddba90>, 'Connection to m.51job.com timed out. (connect timeout=9.2)') |
13 jyf 2017 年 3 月 30 日 在你的 ec2 上用 mtr 51job 的域名 看看哪一跳有问题 有的时候也可能是墙在搞鬼 |
14 mingyun 2017 年 3 月 30 日 requests cookie 最简单了 |