requests带登录请求及其他注意点

requests带登录信息发起请求

import requests
from requests.auth import HTTPBasicAuth

auth = HTTPBasicAuth('admin', 'admin')

url = "http://10.138.60.82:8080/api/python?pretty=true"
r = requests.get(url=url, auth=auth)
print(r.text)

python调用requests,默认body传text时候经常会因为格式报错。

我们可以通过传josn来避免报错,一种是json接收字典参数,或者json.loads把文本转字典。

下面是json接收字典

def send_data(self,msg):
    send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token()
    send_values = {
        "touser": self.TOUSER,
        "msgtype": "text",
        "agentid": self.AGENTID,
        "text": {
            "content": msg
            },
        "safe": "0"
        }
    send_data = '{"msgtype": "text", "safe": "0", "agentid": %s, "touser": "%s", "text": {"content": "%s"}}' % (
        self.AGENTID, self.TOUSER, msg)
    r = requests.post(send_url, json=send_values)
    # print r.content
    return r.content

另一个是用json.loads把文本转字典

def send_data(self,msg):
    send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token()
    send_values = {
        "touser": self.TOUSER,
        "msgtype": "text",
        "agentid": self.AGENTID,
        "text": {
            "content": msg
            },
        "safe": "0"
        }
    send_data = '{"msgtype": "text", "safe": "0", "agentid": %s, "touser": "%s", "text": {"content": "%s"}}' % (
        self.AGENTID, self.TOUSER, msg)
    r = requests.post(send_url, json=json.loads(send_data))
    # print r.content
    return r.content
原文地址:https://www.cnblogs.com/carlvine/p/10437931.html