鱼C论坛

 找回密码
 立即注册
查看: 1017|回复: 12

网站模拟登录 请求数据问题

[复制链接]
发表于 2018-10-19 22:49:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码如下:
登录一直没有成功,会有验证码 我还不会识别。 所以就手动下载看了再输入
个人觉得是data['isCode']='0'这个数据的问题 ,但没找到问题在那里

麻烦大家帮忙看一下


  1. import urllib.request


  2. def urlopen(url,verificationCode):

  3.    
  4.     req = urllib.request.Request(url)

  5.     req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36")
  6.     #方式一
  7.     data = {}
  8.     data['isCode']='0'
  9.     data['isAutoLogin']='true'
  10.     data['home']='homeTag'
  11.     data['userName']='15002062750'
  12.     data['password']='s563249423'
  13.     data['verificationCode']= verificationCode
  14.         
  15.     print(data)

  16.     data = urllib.parse.urlencode(data).encode('utf-8')
  17.     #encoding='gbk'

  18.     print(data)

  19.     html = urllib.request.urlopen(req,data)

  20.     html = html.read()

  21.     return html




  22. url = 'http://passport.17k.com/login'

  23. int1= urllib.request.urlopen('http://passport.17k.com/mcode.jpg?r=0.8921542966723701')
  24. int1= int1.read()
  25. with open('mcode.jpg','wb')as f:
  26.     f.write(int1)

  27. verificationCode =input()
  28.    
  29. html = urlopen(url,verificationCode)

  30. html= html.decode('utf-8')

  31. print(html)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-10-20 10:52:36 | 显示全部楼层
缺了曲奇吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-20 11:45:41 From FishC Mobile | 显示全部楼层
wongyusing 发表于 2018-10-20 10:52
缺了曲奇吧

曲奇是什么?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-20 12:06:37 From FishC Mobile | 显示全部楼层
暗夜之隐 发表于 2018-10-20 11:45
曲奇是什么?

英语,翻译一下,我写英语会被审核
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-20 12:19:56 From FishC Mobile | 显示全部楼层
wongyusing 发表于 2018-10-20 12:06
英语,翻译一下,我写英语会被审核

明白了  谢谢 我试下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-20 16:21:30 | 显示全部楼层
wongyusing 发表于 2018-10-20 12:06
英语,翻译一下,我写英语会被审核

我试了一下 还是不行 ,另外就是出现的错误挺奇怪,

是这个
  1. urllib.error.HTTPError: HTTP Error 500: Internal Server Error
复制代码


  1. import urllib.request


  2. def urlopen(url,nam):

  3.     head = {}
  4.     head['Accept']='Accept:application/json, text/javascript, */*; q=0.01'
  5.     head['Accept-Encoding']='gzip, deflate'
  6.     head['Accept-Language']='zh-CN,zh;q=0.9'
  7.     head['Cache-Control']='no-cache'
  8.     head['Connection']='keep-alive'
  9.     head['Content-Length']='96'
  10.     head['Content-Type']='application/x-www-form-urlencoded'
  11.     head['Cookie']='GUID=9494ec64-0888-82b7-35e6-204f7dffd255; UM_distinctid=1666c9b8a98311-062f41142b5a93-454c092b-100200-1666c9b8a9927e; info_cookie_last_time=1540021829440; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2266026245%22%2C%22%24device_id%22%3A%221666c9b8a80198-0cbcbbb4a49f15-454c092b-1049088-1666c9b8a8143d%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%2C%22first_id%22%3A%229494ec64-0888-82b7-35e6-204f7dffd255%22%7D; CNZZDATA5647345=cnzz_eid%3D680729455-1539950656-null%26ntime%3D1540021111; Hm_lvt_9793f42b498361373512340937deb2a0=1539958601,1540011816,1540021830,1540022735; Hm_lvt_8b0c0daea10097cb3fd25e6e89b69499=1539958601,1540011816,1540021830,1540022735; _uuid=6a2dafbe-c09d-4167-ac99-2e08ca60bee7; JSESSIONID=3776D4C6113BC030FE1F0FB00EF17AA6-n2; Hm_lpvt_9793f42b498361373512340937deb2a0=1540022750; Hm_lpvt_8b0c0daea10097cb3fd25e6e89b69499=1540022750'
  12.    

  13.     head['Host']='passport.17k.com'
  14.     head['Origin']='http://passport.17k.com'
  15.     head['Pragma']='no-cache'
  16.     head['Referer']='http://passport.17k.com'
  17.     head['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
  18.     head['X-Requested-With']='XMLHttpRequest'


  19.    
  20.     req = urllib.request.Request(url,headers = head)

  21.     data = {}
  22.     data['isCode']='0'
  23.     data['isAutoLogin']='true'
  24.     data['home']='homeTag'
  25.     data['userName']='15002062750'
  26.     data['password']='s563249423'
  27.     data['verificationCode']=nam


  28.     data = urllib.parse.urlencode(data).encode('utf-8')

  29.     print(data)
  30.    
  31.     html = urllib.request.urlopen(req,data)
  32.    

  33.     html = html.read()

  34.     return html




  35. url = 'http://passport.17k.com/login'

  36. nam = urllib.request.urlopen('http://passport.17k.com/mcode.jpg?r=0.7129511315062591')
  37. nam= nam.read()
  38. with open('1.jpg','wb')as f:
  39.     f.write(nam)
  40. #nam是验证码 还不会识别 就下载了手机输入
  41. nam = input()

  42. html = urlopen(url,nam)



复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-20 16:27:44 | 显示全部楼层
wongyusing 发表于 2018-10-20 12:06
英语,翻译一下,我写英语会被审核

我试了一下 如果不加任何数据  可以下载到网页 不会出现错误

  1. import urllib.request

  2. html = urllib.request.urlopen('http://passport.17k.com')
  3. html= html.read()
  4. html = html.decode('utf-8')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-20 16:37:34 | 显示全部楼层
header部分不需要host参数。  
修改你的head和data
写成如下的格式:
  1. header = {
  2. 'Accep't:' application/json, text/javascript, */*; q=0.01'
  3. }
复制代码


data部分写成json格式


urllib的语法我忘记了,感觉你这里不是post方法,登录需要post方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-20 16:40:45 | 显示全部楼层
wongyusing 发表于 2018-10-20 16:37
header部分不需要host参数。  
修改你的head和data
写成如下的格式:

好的 我试一下  我刚登陆另一个网站也是这样写的 登陆成功了  这个还没有成功 我再试一下 谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-20 17:35:58 | 显示全部楼层
wongyusing 发表于 2018-10-20 16:37
header部分不需要host参数。  
修改你的head和data
写成如下的格式:

我找到问题了 是head 里面有一个不能写 写了就无法访问。 去掉就可以了。  不过遇到一个新的问题 验证码失效。

我在打开网页之前就先获取了验证码 ,但登陆时的验证码又变了。 总是提示失效,这个验证码是刷新一下就变了。 我要在什么时候去获取才是登陆时的验证码呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-20 17:39:41 | 显示全部楼层
暗夜之隐 发表于 2018-10-20 17:35
我找到问题了 是head 里面有一个不能写 写了就无法访问。 去掉就可以了。  不过遇到一个新的问题 验证码 ...

去掉host对吧??  
我刚才的回复上有写,不知道为什么不见了。  
这个和你的曲奇有关。  
验证码和曲奇是绑定的。研究一下曲奇哪里
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-20 17:41:46 | 显示全部楼层
wongyusing 发表于 2018-10-20 17:39
去掉host对吧??  
我刚才的回复上有写,不知道为什么不见了。  
这个和你的曲奇有关。  

  去掉这个 #head['Accept']='Accept:application/json, text/javascript, */*; q=0.01'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-20 18:25:37 | 显示全部楼层
wongyusing 发表于 2018-10-20 17:39
去掉host对吧??  
我刚才的回复上有写,不知道为什么不见了。  
这个和你的曲奇有关。  

您的意思是曲奇里面 有数据 通过了不用验证吗   看到一大段数据 不是很了解这里的内容
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-23 03:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表