簡體   English   中英

如何使用 python 請求庫發送此請求

[英]How can I send this request using python requests library

如何使用 python 請求庫發送以下請求?

要求:

要求

我努力了

with requests.Session() as session:
    // Some login action

    url = f'http://somewebsite.com/lib/ajax/service.php?key={key}&info=get_enrolled'
    json_data = {
        "index": 0,
        "methodname": "get_enrolled",
        // And so on, from Request Body
    }

    r = session.post(url, json=json_data)

但它沒有給出我想要的 output。

1.定義一個POST請求方法

import urllib3
import urllib.parse

def request_with_url(url_str, parameters=None):
    """
    https://urllib3.readthedocs.io/en/latest/user-guide.html
    """
    http = urllib3.PoolManager()
    response = http.request("POST",
                            url_str, 
                            headers={ 
                                'Content-Type' : 'application/json' 
                            },
                            body=parameters)
    resp_data = str(response.data, encoding="utf-8")
    return resp_data

2.使用您的特定 url 和參數調用 function

json_data = {
        "index": 0,
        "methodname": "get_enrolled",
        // And so on, from Request Body
    }
key = "123456"
url = "http://somewebsite.com/lib/ajax/service.php?key={0}&info=get_enrolled".format(key)

request_with_url(url, json_data)

沒有更多信息您想要什么以及 url 是什么,很難幫助。 但是嘗試將帶有用戶代理的標題添加到帖子中。 可能需要更多標頭,但 User-Agent 是經常需要的 header。

with requests.Session() as session:
    // Some login action

    url = f'http://somewebsite.com/lib/ajax/service.php?key={key}&info=get_enrolled'
    json_data = {
        "index": 0,
        "methodname": "get_enrolled",
        // And so on, from Request Body
    }
    headers = {'User-Agent': 'Mozilla/5.0'}
    r = session.post(url, json=json_data, headers=headers)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM