1
blackboar 2017-03-30 08:42:16 +08:00
你的疑问貌似可以很简单就能验证吧
|
2
justfun 2017-03-30 08:43:26 +08:00 via iPhone
没研究过,应该不会禁国外 IP 吧。既然你本机都可以了 试试用国内代理访问呗
|
4
hastelloy OP @justfun
手头上没有稳定的国内 vpn , 所以想问问是不是通过修改登录请求的 headers 什么的解决,或者 51job 有没有什么对国际访问的 ip 什么的 |
5
ju5t4fun 2017-03-30 09:03:41 +08:00
是不是被检测到异地登录了
|
6
hastelloy OP |
7
winfirm 2017-03-30 10:08:22 +08:00
大概是去年偶而登录一下 51job ,感觉每次登录都要至少两次才成功。
第一次输入用户名密码,密码确定是对的,然按确定不能成功,会跳到带验证码的登录输入页面,然后再输入一遍,这才能成功进入个人管理页面。 |
9
cranelee13 2017-03-30 15:58:13 +08:00
直接在头部添加登录后的 Cookie 不行么?
|
10
ioth 2017-03-30 16:08:26 +08:00
你都没说怎么不行,什么情景
难道让别人给你试? 再说你可真不是没事,是接到活了吧 |
11
crab 2017-03-30 16:15:08 +08:00
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-03-30 19:59:30 +08:00
在你的 ec2 上用 mtr 51job 的域名 看看哪一跳有问题 有的时候也可能是墙在搞鬼
|
14
mingyun 2017-03-30 23:11:26 +08:00
requests cookie 最简单了
|