天天看点

requests模块常用功能

可以使用谷歌浏览器的POSTMAN去实现界面模拟请求

函数传递参数的默认规则:

使用<code>*args</code>和<code>**kw</code>是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

1 GET请求

#通过api获取json返回值的,一个通用函数

<code>def</code> <code>op_on_api(u, method</code><code>=</code><code>'GET'</code><code>, </code><code>*</code><code>*</code><code>kw):</code>

<code>    </code><code>url </code><code>=</code>  <code>u</code>

<code>    </code><code>r </code><code>=</code> <code>requests.get(url, params</code><code>=</code><code>kw, timeout</code><code>=</code><code>10</code><code>)</code>

<code>    </code><code>if</code> <code>r.status_code !</code><code>=</code> <code>200</code><code>:</code>

<code>        </code><code>raise</code> <code>Exception(</code><code>'core api无法处理此url:'</code> <code>+</code> <code>url </code><code>+</code> <code>'请求! 返回码:'</code> <code>+</code> <code>\</code>

<code>                        </code><code>str</code><code>(r.status_code) </code><code>+</code> <code>\</code>

<code>                        </code><code>'\n\tmessage:{'</code> <code>+</code> <code>r.content </code><code>+</code> <code>'}'</code> <code>+</code> <code>\</code>

<code>                        </code><code>'\n\tdata:==\n'</code> <code>+</code> <code>str</code><code>(args) </code><code>+</code> <code>'\n=='</code><code>)</code>

<code>    </code><code>return</code> <code>r.json()</code>

GET 请求 print r.url  你可以知道请求的具体加参数的url,这是http只是哦

u'http://youapi?key2=value2&amp;key1=value1'

2 POST请求

<code>import</code> <code>os,json, requests                                                                                                                                            </code>

<code>url </code><code>=</code> <code>"http://youapi"</code>                                                                                                                   

<code>payload</code><code>=</code><code>{</code>

<code>    </code><code>"key1”:"</code><code>value1",</code>

<code>    </code><code>"key2”:"</code><code>value2",</code>

<code>}</code>

<code>headers </code><code>=</code> <code>{</code><code>'content-type'</code><code>: </code><code>'application/json'</code><code>}</code>

<code>r </code><code>=</code> <code>requests.post(url, data</code><code>=</code><code>json.dumps(payload),headers</code><code>=</code><code>headers,timeout</code><code>=</code><code>10</code><code>)</code>

<code>本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1783991如需转载请自行联系原作者                                                                             cuizhiliang</code>