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

歡迎訪問 生活随笔!

生活随笔

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

python

python接口自动化3-自动发帖(session)

發布時間:2023/12/18 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python接口自动化3-自动发帖(session) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、session簡介

1.查看幫助文檔,貼了一部分,后面省略了

>>import requests
>>help(requests.session())

class Session(SessionRedirectMixin)
?|? A Requests session.
?| ?
?|? Provides cookie persistence, connection-pooling, and configuration.
?| ?
?|? Basic Usage::
?| ?
?|??? >>> import requests
?|??? >>> s = requests.Session()
?|??? >>> s.get('http://httpbin.org/get')
?|??? <Response [200]>
?| ?
?|? Or as a context manager::
?| ?
?|??? >>> with requests.Session() as s:
?|??? >>>???? s.get('http://httpbin.org/get')
?|??? <Response [200]>

?

二、使用session登錄

1.使用session登錄只需在上一篇基礎上稍做修改

# coding:utf-8
import requests
url = "https://passport.cnblogs.com/user/signin"

headers = {
????????????????? 頭部信息已省略

?????????????????? }
payload = {"input1":"xxx",
????????? ? ? ? "input2":"xxx",
??????????????? "remember":True}

# r = requests.post(url, json=payload, headers=headers,verify=False)

# 修改后如下
s = requests.session()
r = s.post(url, json=payload, headers=headers,verify=False)
print r.json()

三、保存編輯

1.先打開我的隨筆,手動輸入內容后,打開fiddler抓包

2.把body的參數內容寫成字典格式,有幾個空的參數不是必填的,可以去掉

body = {"__VIEWSTATE": "",
??????? "__VIEWSTATEGENERATOR":"FE27D343",
??????? "Editor$Edit$txbTitle":"這是我的標題:上海-悠悠",
??????? "Editor$Edit$EditorBody":"<p>這里是中文內容:http://www.cnblogs.com/yoyoketang/</p>",
??????? "Editor$Edit$Advanced$ckbPublished":"on",
??????? "Editor$Edit$Advanced$chkDisplayHomePage":"on",
??????? "Editor$Edit$Advanced$chkComments":"on",
??????? "Editor$Edit$Advanced$chkMainSyndication":"on",
??????? "Editor$Edit$lkbDraft":"存為草稿",
???????? }

3.用上面的session繼續發送post請求

4.執行后,查看我的草稿箱就多了一條新增的了

?

四、參考代碼

?# coding:utf-8
import requests

# 先打開登錄首頁,獲取部分cookie
url = "https://passport.cnblogs.com/user/signin"
headers = {
??????????? "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
?????????? }? # get方法其它加個ser-Agent就可以了

s = requests.session()
r = s.get(url, headers=headers,verify=False)
print s.cookies

# 添加登錄需要的兩個cookie
c = requests.cookies.RequestsCookieJar()

c.set('.CNBlogsCookie', '這里是抓到的')? # 填上面抓包內容
c.set('.Cnblogs.AspNetCore.Cookies','這里是抓到的')? # 填上面抓包內容
c.set('AlwaysCreateItemsAsActive',"True")
c.set('AdminCookieAlwaysExpandAdvanced',"True")
s.cookies.update(c)
print s.cookies

# 登錄成功后保存編輯內容
r1 = s.get("https://i.cnblogs.com/EditPosts.aspx?opt=1", headers=headers, verify=False)

# 保存草稿箱
url2= "https://i.cnblogs.com/EditPosts.aspx?opt=1"
body = {"__VIEWSTATE": "",
??????? "__VIEWSTATEGENERATOR":"FE27D343",
??????? "Editor$Edit$txbTitle":"這是3111",
??????? "Editor$Edit$EditorBody":"<p>這里111:http://www.cnblogs.com/yoyoketang/</p>",
??????? "Editor$Edit$Advanced$ckbPublished":"on",
??????? "Editor$Edit$Advanced$chkDisplayHomePage":"on",
??????? "Editor$Edit$Advanced$chkComments":"on",
??????? "Editor$Edit$Advanced$chkMainSyndication":"on",
??????? "Editor$Edit$Advanced$txbEntryName":"",
??????? "Editor$Edit$Advanced$txbExcerpt":"",
??????? "Editor$Edit$Advanced$tbEnryPassword":"",
??????? "Editor$Edit$lkbDraft":"存為草稿",
???????? }
r2 = s.post(url2, data=body, verify=False)
print r.content

?

總結

以上是生活随笔為你收集整理的python接口自动化3-自动发帖(session)的全部內容,希望文章能夠幫你解決所遇到的問題。

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