日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python requests详解_python的requests模块参数详解

發布時間:2024/10/14 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python requests详解_python的requests模块参数详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

import requests

print(dir(requests))

# 1、方法

# ['ConnectTimeout', 'ConnectionError', 'DependencyWarning', 'FileModeWarning', 'HTTPError', 'NullHandler', 'PreparedRequest', 'ReadTimeout', 'Request', 'RequestException', 'RequestsDependencyWarning', 'Response', 'Session', 'Timeout', 'TooManyRedirects', 'URLRequired', '__author__', '__author_email__', '__build__', '__builtins__', '__cached__', '__cake__', '__copyright__', '__description__', '__doc__', '__file__', '__license__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__title__', '__url__', '__version__', '_check_cryptography', '_internal_utils', 'adapters', 'api', 'auth', 'certs', 'chardet', 'check_compatibility', 'codes', 'compat', 'cookies', 'delete', 'exceptions', 'get', 'head', 'hooks', 'logging', 'models', 'options', 'packages', 'patch', 'post', 'put', 'request', 'session', 'sessions', 'status_codes', 'structures', 'urllib3', 'utils', 'warnings']

# 2、參數

requests.get(

url="http://www.baidu.com",

headers="",

cookies="",

params={"k1":"v1","k2":"v2"},

# url中傳遞的參數,效果如下

# http://www.baidu.com?k1=v1&k2=v2

)

requests.post(

url="",

headers="",

cookies="",

data={

},

params={"k1": "v1", "k2": "v2"},

# url中傳遞的參數,效果如下

# http://www.baidu.com?k1=v1&k2=v2

)

# 我們可以通過data傳遞請求體,也可以通過json傳遞請求體

data = {

"username":"admin",

"pwd":"admin"

},

# 則請求體中的數據為username=admin&pwd=admin

# 參數json

json = {

"username":"admin",

"pwd":"admin"

},

# 則請求體中的數據為{"username":"admin","pwd":"admin"}

# 參數代理

# 定義一個字典

proxies = {

"http":"61.24.25.21",

"https":"http://65.21.24.1"

}

# http請求走http對應的地址,https請求走https對應的地址,在訪問的請求中加一個proxies的參數

l1 = requests.get(url="https://passport.lagou.com/login/login.html",

headers={

"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"

},

proxies = proxies

)

# 給代理加認證

from requests.auth import HTTPProxyAuth

proxies = {

"http":"61.24.25.21",

"https":"http://65.21.24.1"

}

auth = HTTPProxyAuth("username","passwd")

# http請求走http對應的地址,https請求走https對應的地址,在訪問的請求中加一個proxies的參數,在加一個參數auth,這個是登陸代理的用戶名和密碼

l2 = requests.get(url="https://passport.lagou.com/login/login.html",

headers={

"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"

},

proxies = proxies,

auth = auth

)

# 參數文件上傳,post方法發送請求,傳遞一個file的參數

file= {

"f1":open("a.txt","rb")

}

l3 = requests.post(url="https://passport.lagou.com/login/login.html",

headers={

"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"

},

proxies = proxies,

auth = auth,

file = file

)

# 可以設置上傳文件的名稱,前面的例子上傳的文件的名稱就是文件本身的名稱

file= {

"f1":("new_file_name",open("a.txt","rb"))

}

l4 = requests.post(url="https://passport.lagou.com/login/login.html",

headers={

"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"

},

proxies = proxies,

auth = auth,

file = file

)

# 參數認證

from requests.auth import HTTPBasicAuth

from requests.auth import HTTPDigestAuth

l5 = requests.get(url="https://passport.lagou.com/login/login.html",

headers={

"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"

},

proxies = proxies,

auth = HTTPBasicAuth("admin","admin")

)

# 超時參數

l6 = requests.get(url="https://passport.lagou.com/login/login.html",

headers={

"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"

},

timeout = 2

)

# 超時時間為2s,2s連不上返回錯誤

# 允許重定向

l7 = requests.get(url="https://passport.lagou.com/login/login.html",

headers={

"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"

},

allow_redirects = False

)

# stream大文件下載的參數,把文件一點一點的下載,如果這個值為false,則全部寫到內存中了

from contextlib import closing

with closing(requests.get("http://ddddddd",stream=True)) as f:

for i in f.iter_content():

print(i)

# cert,證書參數,告訴request去這個地方去下載cert

l8 = requests.get(url="https://passport.lagou.com/login/login.html",cert="xxx/xxx/xxx/xxx/pem")

l9 = requests.get(url="https://passport.lagou.com/login/login.html",cert=("xxx/xxx/xxx/xxx/pem","yyy/yyy/yyy.key"))

# session,為我們自動帶上cookies和請求頭

import requests

session = requests.session()

i1 = session.get(url="")

i2 = session.post(

url="",

data={}

)

i3 = session.post()

----------------------------------------------------------

通過request發送post請求,什么時候使用data參數,什么時候使用json參數呢,可以通過抓包來分析

在chrom瀏覽器中,數據格式為Form Data,如果通過requests發送數據,則用data來發送數據

在chrom瀏覽器中,數據格式為Request Payload,如果通過requests發送,則用json來發送數據

如果傳遞的json格式,但是數據有中文呢就額可以使用下面的方式來發送數據

data = bytes(json.dumps(

data_dict,

ensure_ascii=False

),encoding="utf-8")

總結

以上是生活随笔為你收集整理的python requests详解_python的requests模块参数详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。