url = ' interface address '
r = Requests.get (URL) #发送get请求
Print (R.status_code) #打印状态码, if redirected, returns the code after redirection
Print (r.headers) #打印返回的报头 (head)
Print (R.text) #查看返回结果的文本形式
R.status_code #响应状态码
R.content #字节方式的响应体 that will automatically decode for you gzip and deflate compression
R.headers #以字典对象存储服务器响应头, but this dictionary is very special, the dictionary key is not case-sensitive, if the key does not exist return none
R.json () #Requests中内置的JSON解码器, JSON turns into a python dictionary.
R.url # If there is no redirect, that is the URL of the request, if there is a redirect, that is the redirected URL
R.encoding # View the encoded format returned
R.cookies # Get Cookies
R.raw #返回原始响应体
R.history #追踪重定向过程 (list type)
R.text #字符串方式的响应体 is automatically decoded based on the character encoding of the response header
R.content.decode (' Utf-8 ') # returns content that is garbled when printed with this method
R.raise_for_status () #失败请求 (not 200 responses) throws an exception
Logincookies = r.cookies: # Get logged in cookies
Cookies=logincookies: # Incoming request for cookies
s = requests.session () # a miniature browser that can be understood as code, the advantage of doing so is that cookies can be saved without having to get it every time (only applies to websites that are cookies, and the site is token useless)
Print (r.encoding) # View the encoded format returned
R.json # Gets the JSON returned
Verify=false # When you access an HTTPS request plus do not validate the certificate
# Open Excel file, save file as suffix xls
fp = open (' Yoyo.xls ', ' WB ') # W: write, B: Binary form
Remove warning Warning:
Import URLLIB3
Urllib3.disable_warnings ()
First, HTTP:
GET Request:
1. Get request (no parameters):
2. Get request (with parameters):
Interface Address: HTTP://JAPI.JUHE.CN/QQEVALUATE/QQ
Return format: JSON
Request method: Get Post
Sample request: Http://japi.juhe.cn/qqevaluate/qq?key= the appkey&qq=295424589 you requested
Interface Note: According to the parameters of the QQ number and the AppKey you applied to test QQ inauspiciousness
Request parameter description (enter parameter):
Name Required type description
Key is the string you requested for the APPKEY:8DBEE1FCD8627FB6699BCE7B986ADC45
QQ is the string needs to test QQ number: 907728701
2.1, the URL of the way to pass the parameter:
url = ' http://japi.juhe.cn/qqevaluate/qq?key= 8dbee1fcd8627fb6699bce7b986adc45&qq=907728701 '
2.2, in the form of a dictionary to pass the parameter:
url = ' HTTP://JAPI.JUHE.CN/QQEVALUATE/QQ '
Par = {
' Key ': ' 8dbee1fcd8627fb6699bce7b986adc45 ',
' QQ ': ' 907728701 '
}
R = Requests.get (Url,params=par) #发送get请求
POST request:
1. Post request (no parameters):
url = ' HTTP://JAPI.JUHE.CN/QQEVALUATE/QQ '
r = Requests.post (URL) #发送post请求
Print (R.status_code) #打印状态码
Print (r.headers) #打印返回的报头 (head)
Print (R.text) #查看返回结果的文本形式 (body part)
2. Post request (with parameters):
2.1, the URL of the way to pass the parameter:
url = ' http://japi.juhe.cn/qqevaluate/qq?key= 8dbee1fcd8627fb6699bce7b986adc45&qq=907728701 '
r = Requests.post (URL) #发送post请求
2.2, in the form of a dictionary to pass the parameter:
url = ' HTTP://JAPI.JUHE.CN/QQEVALUATE/QQ '
Par = {
' Key ': ' 8dbee1fcd8627fb6699bce7b986adc45 ',
' QQ ': ' 907728701 '
}
R = Requests.post (Url,params=par) #发送get请求
Second, HTTPS:
1. Get:
url = ' HTTPS://WWW.JUHE.CN/DOCS/API/ID/39 '
r = Requests.get (URL) #发送get请求
Print (R.status_code) #打印状态码
Print (r.headers) #打印返回的报头 (head)
Print (R.text) #查看返回结果的文本形式 (body part)
Sslerror: Certificate Issue:
Method 1: Check if the Faddler is closed and the access is successful when
Method 2: The request parameter is followed by the Verify=false
Verify defaults to True, at which time the certificate is validated and false will not validate the certificate
have a Body section:
content-type:application/x-www-form-urlencoded; Charset=utf-8: Data transfer
Content-type:application/json: Transmitting JSON
Parse the returned content into JSON format:
Prerequisite: A certain content is in JSON format
If garbled::
Output in the content byte stream, decoded into Utf-8:
Print (r.encoding) # View the encoded format returned:
Remove warning Warning:
Import URLLIB3
Urllib3.disable_warnings ()
Error handling:
403: Denied or forbidden access: Must disguise the head (header details according to the interface document)
1, the server identified as code access:
1.1. Code Access header: User-agent for Python
1.2. Browser access to the head: User-agent for the browser
1.3. Add User-agent to the head:
2, Camouflage head still 403: Server check Cookic (Cookic has timeliness)
2.1. No Cookic during code access
2.2. Browser Access with Cookic
2.3. Add Cookic access to the header successfully
Python interface Automation Test two: Python Code implementation Interface test