python3的post请求
A. 如何用python写一个http post请求
importurllib2
importurllib
#定义一个要提交的数据数组(字典)
data={}
data['username']='zgx030030'
data['password']='123456'
#定义post的地址
url='<ahref="<ahref="http://www.test.com/post/'"target="_blank">http://www.test.com/post/'</a>"target="_blank">http://www.test.com/post/'"target="_blank">http://www.test.com/post/'</a></a>
post_data=urllib.urlencode(data)
#提交,发送数据
req=urllib2.urlopen(url,post_data)
#获取提交后返回的信息
content=req.read()
B. python3.4中的post请求怎么写
fromurllibimportrequest
request.urlopen()
defpost(url,data=None,headers=None,timeout=2,decode='utf-8'):
rt=HttpReturn()
ifheadersisNone:
headers={}
post_data=urllib.parse.urlencode(data).encode(decode)
try:
req=urllib.request.Request(url,post_data,headers)
hr=urllib.request.urlopen(req,timeout=timeout)
rt=HttpReturn()
rt.obj=rt
rt.text=hr.read().decode('utf-8')
rt.status=hr.status
finally:
returnrt
C. 如何用Python写一个post请求调用api
使用http库就可以做到
参考:
importhttp.client
conn=http.client.HTTPConnection(host='123.56.129.164',port=8080)
if__name__=='__main__':
header={'content-type':'image/jpeg'}
body=open(u'D:\test.jpg','rb').read();
conn.request('POST',u'User/uploadFile/id/ba1da387-cd13-4ead-b1e7-c7c443840b3a',headers=header,body=body)
#response=conn.getresponse()
D. Python3发送Post请求报403
403错误分很多种,但总的来说都是不具备服务器相应访问权限所致。
可以尝试更改为https协议、使用cookie、修改POST请求为正确格式等方法。
E. python3.4中的post请求怎么写
python3使用
from urllib import request
request.urlopen()
F. 如何用Python写一个http post请求
1
2
3
4
5
6
7
8
9
10
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers
url = "http://www.example.com"
body_value = {"package": "com.tencent.lian","version_code": "66" }
register_openers()
datagen, re_headers = multipart_encode(body_value)
request = urllib2.Request(url, datagen, re_headers)
# 如果有请求头数据,则添加请求头
request .add_header(keys, headers[keys])
result = urllib2.urlopen(request ).read()
二、application/json
1
2
3
4
5
6
7
8
import json
url = "http://www.example.com"
body_value = {"package": "com.tencent.lian","version_code": "66" }
register_openers()
body_value = json.JSONEncoder().encode(body_value)
request = urllib2.Request(url, body_value)
request .add_header(keys, headers[keys])
result = urllib2.urlopen(request ).read()
G. Python3中对压缩post请求的处理,我用fillder获取到的url编码的post请求数据比
我是做爬虫的:
我感觉是不是你的思路有问题?
post数据和get数据弄混了,post提交数据,提交数据的地址就是actions的指向,如果没有写,那就是当前页,抓包应该都是一样的呀!get提交数据是直接在url中带参数的,抓包都是一样的,你可能抓包出问题了
H. python3里的requests用post请求可以添加代理吗 是不是跟get请求一样
当然可以添加代理,如果你想为请求添加 HTTP 头部,只要简单地传递一个dict给headers参数就可以了。
url='https://www..com'
headers={'user-agent':'my-app/0.0.1'}
r=requests.get(url,headers=headers)
如果你想添加一个代理ip的话,需要一个可以用的ip代理。
headers={"User-Agent":"Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/65.0.3325.181Safari/537.36",
}
proxies={"http":"http://202.121.96.33:8086"}
response=requests.get(url,headers=headers,proxies=proxies)