想了解使用Python请求模拟ajaxPOST调用的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python模拟http请求的相关问题,此外,我们还将为您介绍关于Postman模拟ajax
想了解使用Python请求模拟ajax POST调用的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python模拟http请求的相关问题,此外,我们还将为您介绍关于Postman模拟ajax请求 并模拟登陆、python 模拟 Ajax 发送请求、Python-使用Python 3 urllib发出POST请求、Python使用python请求登录ASPX网站的新知识。
本文目录一览:- 使用Python请求模拟ajax POST调用(python模拟http请求)
- Postman模拟ajax请求 并模拟登陆
- python 模拟 Ajax 发送请求
- Python-使用Python 3 urllib发出POST请求
- Python使用python请求登录ASPX网站
使用Python请求模拟ajax POST调用(python模拟http请求)
我正在做一个项目,其中我的解析器 窃取了 有关特定站点上每个视频的数据,并将其保存到我的数据库中。除了指向隐藏视频的完整链接之外,我已完成所有工作。
有一个播放器,它会自动从页面加载开始。我发现启动播放器的JavaScript代码:
function getVidData(resolution, init) { << some code here >> jQuery.ajax({type: ''POST'', url: ''/ajaxdata.php'', dataType: ''json'', data: ''mod=videodata&vid=48902&res='' + resolution, success: function (response) { if (response.error != '''' && response.error != undefined) { << error handling code here >> } else { StartPlayer(response.width, response.height, response.filename); } } });}
通话后,因此,如果没有错误发现它开始使用播放器 的文件名 从 响应 。那就是我所需要的。
我重新检查了 Live HTTP标头中 的呼叫:
http://<< SITE_URL >>/ajaxdata.phpPOST /ajaxdata.php HTTP/1.1Host: << SITE_URL >>User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0Accept: application/json, text/javascript, */*; q=0.01Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflateContent-Type: application/x-www-form-urlencoded; charset=UTF-8X-Requested-With: XMLHttpRequestReferer: << VIDEO_PAGE >>Content-Length: 31Cookie: << COOKIE VALUES >>DNT: 1Connection: keep-alivePragma: no-cacheCache-Control: no-cache mod=videodata&vid=48901&res=640HTTP/1.1 200 OKServer: nginx/1.5.9Date: Tue, 22 Apr 2014 16:30:06 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveExpires: Tue, 22 Apr 2014 16:30:05 GMTCache-Control: no-cachePragma: no-cacheContent-Encoding: gzip
因此它使用特定的参数调用 ajaxdata.php ,作为回应,我应该找到文件名。
但是,此Python代码对我绝对没有任何回报(内容或错误)
import requestsurl = "http://LALLALAA/ajaxdata.php"data_video = {"mod": "videodata", "vid": "48901", ''res'': ''640''}s = requests.Session()s.post(login_url, data=login_data) # Authenticationcontent = s.post(url, data=data_video)print content.content
可变内容仅打印“ Response [200]”
现在,我完全被卡住了,如果有人可以指出我所做的错误或我可以尝试的解决方案,我将不胜感激。
谢谢
答案1
小编典典正如Martijn Pieters所建议的那样,我一个接一个地尝试了标头,发现这种组合现在可以使用:
import requestsheaders = { ''User-Agent'': ''Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0'', ''Accept'': ''application/json, text/javascript, */*; q=0.01'', ''Content-Type'': ''application/x-www-form-urlencoded; charset=UTF-8'', ''X-Requested-With'': ''XMLHttpRequest''}s = requests.Session()s.post(login_url, data=login_data)content = s.post(url, data=data_video, headers=headers)
我感谢所有人,特别是Martijn Pieters
Postman模拟ajax请求 并模拟登陆
2.设置header头
-
<span style= "font-size:16px;">设置代理、cookie、X-Requested-With
-
-
注意 :X-Requested- With(代表是ajax请求) 这些数据可以去浏览器上找</span>
@H_301_43@
3.在body里设置请求携带的数据
4.发送就可以了
--------------------- 本文来自 小鹏程序 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_35979073/article/details/79352412?utm_source=copy
python 模拟 Ajax 发送请求
@西门飞 你好,想跟你请教个问题:
这是我刚刚抓到数据,我标记的这条,它的 content 里就是我想要的数据,请问这是 Ajax 请求得到的吗?我不会分析。如果是,那能否讲解一下或者有 Python 模拟 Ajax 请求的实例可以推荐给我参考一下,网上都没找到。谢谢了。
Python-使用Python 3 urllib发出POST请求
我正在尝试向以下页面发出POST请求:http :
//search.cpsa.ca/PhysicianSearch
为了模拟单击“搜索”按钮而不填写任何表单,该表单会将数据添加到页面。通过在chrome开发人员工具中查看“网络”标签时点击按钮,我获得了POST标头信息。我之所以发布此信息,而不是仅仅从其他类似问题中复制解决方案,是因为我认为我可能没有获得正确的标题信息。格式是否正确,我是否掌握了正确的信息?我以前从未提出过POST请求。
这是我设法拼凑而成的:
import urllib.parseimport urllib.requestdata = urllib.parse.urlencode({''Host'': ''search.cpsa.ca'', ''Connection'': ''keep-alive'', ''Content-Length'': 23796, ''Origin'': ''http://search.cpsa.ca'', ''Content-Type'': ''application/x-www-form-urlencoded; charset=UTF-8'', ''Cahce-Control'': ''no-cache'', ''X-Requested-With'': ''XMLHttpRequest'', ''X-MicrosoftAjax'': ''Delta=true'', ''Accept'': ''*/*'', ''Referer'': ''http://search.cpsa.ca/PhysicianSearch'', ''Accept-Encoding'': ''gzip, deflate'', ''Accept-Language'': ''en-GB,en-US;q=0.8,en;q=0.6'', ''Cookie'': ''ASP.NET_SessionId=kcwsgio3dchqjmyjtwue402c; _ga=GA1.2.412607756.1459536682; _gat=1''})url = "http://www.musi-cal.com/cgi-bin/query?%s"data = data.encode(''ascii'')with urllib.request.urlopen("http://search.cpsa.ca/PhysicianSearch", data) as f: print(f.read().decode(''utf-8''))
该解决方案输出页面的HTML,但不包含我想从POST请求中检索的任何数据。
答案1
小编典典这就是你的做法。
from urllib import request, parsedata = parse.urlencode(<your data dict>).encode()req = request.Request(<your url>, data=data) # this will make the method "POST"resp = request.urlopen(req)
Python使用python请求登录ASPX网站
如何解决Python使用python请求登录ASPX网站?
您好,我正在尝试登录此网站
http://newbips.ibpa.co.id/Home.aspx
我当前的代码在这里
import requests
import os
from bs4 import BeautifulSoup
#define headers (avoid detected as bot)
headers = {''user-agent'' : ''my user agent''}
#define login data
login_data = {
''dnn$ctr576$UserLogin$rtbUsername'': ''username'',''dnn$ctr576$UserLogin$rtbPassword'': ''pass'',}
with requests.Session() as s:
#login
url = "http://newbips.ibpa.co.id/Home.aspx"
r = s.get(url,headers=headers)
soup = BeautifulSoup(r.content,''html5lib'')
login_data[''__VIEWSTATEGENERATOR''] = soup.find(''input'',attrs={ ''id'': ''__VIEWSTATEGENERATOR''})[''value'']
login_data[''__VIEWSTATE''] = soup.find(''input'',attrs={ ''id'': ''__VIEWSTATE''})[''value'']
#find captcha sources
captcha = soup.find(''img'',attrs={ ''id'': ''dnn_ctr576_UserLogin_rcLogin_CaptchaimageUP''})[''src'']
link_captcha = "http://newbips.ibpa.co.id" + captcha
with open(''captcha.jpg'',''wb'') as handle:
response = s.get(link_captcha,stream=True)
if not response.ok:
print("ok")
for block in response.iter_content(1024):
if not block:
break
handle.write(block)
os.system(''captcha.jpg'')
captchatext = input("Masukkan Captcha")
login_data[''dnn$ctr576$UserLogin$rcLogin$CaptchaTextBox''] = captchatext
r = s.post(url,data=login_data,headers=headers)
代码还是不行。我认为问题出在 login_data 上,但我仍然无法弄清楚。我怎样才能使这段代码有效?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
关于使用Python请求模拟ajax POST调用和python模拟http请求的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Postman模拟ajax请求 并模拟登陆、python 模拟 Ajax 发送请求、Python-使用Python 3 urllib发出POST请求、Python使用python请求登录ASPX网站的相关知识,请在本站寻找。
本文标签: