>  기사  >  백엔드 개발  >  Python Notes 8: 요청 모듈

Python Notes 8: 요청 모듈

PHP中文网
PHP中文网원래의
2017-07-09 18:13:091527검색

소개:

requests는 urlib 및 urlib2와 유사한 Python용 http 클라이언트 라이브러리입니다. 요청 모듈은 urlib 모듈을 기반으로 개발되었으며 코드 구현이 더 간단합니다.

모듈 설치:

pip 설치 요청, 요청 모듈을 사용할 때 요청을 직접 가져오기만 하면 됩니다.

사용하기 쉬운 요청:

http 프로토콜 인터페이스, 요청 방법은 get과 post로 구분되며 이 두 가지가 가장 일반적으로 사용됩니다. 일반적으로 사용되는 요청 매개변수 형식에는 키-값, json, 파일 업로드, 쿠키 인터페이스 추가, 헤더 및 기타 작업이 포함됩니다.

요청-URL 연결 매개변수 가져오기:

으아악

.json()을 사용할 수도 있습니다. 반환 결과 유형은 사전입니다(참고: 인터페이스 요청의 반환 값 유형은 인터페이스의 반환 정의 유형과 관련됩니다)

으아악

get 요청 - 요청 매개변수 유형은 키-값 형식입니다.

으아악

.json()을 사용할 수도 있습니다. 반환 결과 유형은 사전입니다. (참고: 인터페이스 요청의 반환 값 유형은 인터페이스의 반환 정의 유형과 관련됩니다)

으아악
get 요청에 의해 호출되는 인터페이스는 다음과 같이 구현됩니다.
으아악
코드 보기

게시물 요청 - URL 접합 매개변수

으아악

.json()을 사용할 수도 있습니다. 반환 결과 유형은 사전입니다(참고: 인터페이스 요청의 반환 값 유형은 인터페이스의 반환 정의 유형과 관련됩니다)

으아악

게시 요청 - 매개변수 유형이 키-값 형식입니다

으아악

.json()을 사용할 수도 있습니다. 반환 결과 유형은 사전입니다(참고: 인터페이스 요청의 반환 값 유형은 인터페이스의 반환 정의 유형과 관련됩니다)

으아악
게시 요청에 의해 호출되는 인터페이스는 다음과 같이 구현됩니다.
으아악
코드 보기

게시물 요청 - 매개변수 유형은 json

입니다.
으아악

게시 요청 - 매개변수 유형은 json, 다층 json 중첩

으아악
사후 요청에 의해 호출되는 인터페이스, json 매개변수가 전달되고 코드는 다음과 같이 구현됩니다.
으아악
코드 보기

게시물 요청 - 파일 업로드

으아악
게시 요청에 의해 호출되는 업로드 인터페이스, 코드는 다음과 같이 구현됩니다.
으아악
코드 보기

게시물 요청 - 쿠키 추가

으아악
post请求调用的添加cookie接口,代码实现如下:
<span style="color: #008080"> 1</span> <span style="color: #0000ff">import</span><span style="color: #000000"> flask
</span><span style="color: #008080"> 2</span> <span style="color: #0000ff">from</span> flask <span style="color: #0000ff">import</span><span style="color: #000000">  request
</span><span style="color: #008080"> 3</span> <span style="color: #0000ff">from</span> flask <span style="color: #0000ff">import</span><span style="color: #000000">  jsonify
</span><span style="color: #008080"> 4</span> server = flask.Flask(<span style="color: #800080">__name__</span><span style="color: #000000">)
</span><span style="color: #008080"> 5</span> @server.route(<span style="color: #800000">'</span><span style="color: #800000">/set_cookies</span><span style="color: #800000">'</span>, methods=[<span style="color: #800000">'</span><span style="color: #800000">post</span><span style="color: #800000">'</span><span style="color: #000000">])
</span><span style="color: #008080"> 6</span> <span style="color: #0000ff">def</span><span style="color: #000000"> set_cookies():
</span><span style="color: #008080"> 7</span>     <span style="color: #0000ff">print</span>(<span style="color: #800000">'</span><span style="color: #800000">获取到的cookie:</span><span style="color: #800000">'</span>, request.cookies)      <span style="color: #008000">#</span><span style="color: #008000">{'token': '123456'}</span>
<span style="color: #008080"> 8</span>     <span style="color: #0000ff">print</span>(<span style="color: #800000">'</span><span style="color: #800000">获取到的请求数据:</span><span style="color: #800000">'</span>, request.values)    <span style="color: #008000">#</span><span style="color: #008000"> CombinedMultiDict([ImmutableMultiDict([]), ImmutableMultiDict([('monkey', '999'), ('username', 'xiaobai')])])</span>
<span style="color: #008080"> 9</span>     token = request.cookies.get(<span style="color: #800000">'</span><span style="color: #800000">token</span><span style="color: #800000">'</span><span style="color: #000000">)
</span><span style="color: #008080">10</span>     <span style="color: #0000ff">if</span><span style="color: #000000"> token:
</span><span style="color: #008080">11</span>         <span style="color: #0000ff">return</span> jsonify({<span style="color: #800000">"</span><span style="color: #800000">msg</span><span style="color: #800000">"</span>: <span style="color: #800000">"</span><span style="color: #800000">ok</span><span style="color: #800000">"</span><span style="color: #000000">})
</span><span style="color: #008080">12</span>     <span style="color: #0000ff">else</span><span style="color: #000000">:
</span><span style="color: #008080">13</span>         <span style="color: #0000ff">return</span> jsonify({<span style="color: #800000">"</span><span style="color: #800000">msg</span><span style="color: #800000">"</span>: <span style="color: #800000">"</span><span style="color: #800000">没有添加cookie</span><span style="color: #800000">"</span><span style="color: #000000">})
</span><span style="color: #008080">14</span> 
<span style="color: #008080">15</span> <span style="color: #0000ff">if</span> <span style="color: #800080">__name__</span> == <span style="color: #800000">'</span><span style="color: #800000">__main__</span><span style="color: #800000">'</span><span style="color: #000000">:
</span><span style="color: #008080">16</span>     server.run(debug=True)
View Code

 post请求- 添加headers

<span style="color: #0000ff">import</span><span style="color: #000000"> requests
header_url </span>= <span style="color: #800000">'</span><span style="color: #800000">http://127.0.0.1:5000/set_headers</span><span style="color: #800000">'</span><span style="color: #000000">
data </span>= {<span style="color: #800000">"</span><span style="color: #800000">username</span><span style="color: #800000">"</span>: <span style="color: #800000">"</span><span style="color: #800000">123456</span><span style="color: #800000">"</span>, <span style="color: #800000">"</span><span style="color: #800000">monkey</span><span style="color: #800000">"</span>: <span style="color: #800000">"</span><span style="color: #800000">666</span><span style="color: #800000">"</span><span style="color: #000000">}
</span><span style="color: #008000">#</span><span style="color: #008000">添加header信息</span>
header = {<span style="color: #800000">'</span><span style="color: #800000">Content-Type</span><span style="color: #800000">'</span>: <span style="color: #800000">"</span><span style="color: #800000">application/json</span><span style="color: #800000">"</span><span style="color: #000000">}
</span><span style="color: #008000">#</span><span style="color: #008000">接口请求</span>
res = requests.<span style="color: #ff0000">post</span>(header_url, data, <span style="color: #ff0000">headers</span>=header).json()

欢迎评论~~~

 

위 내용은 Python Notes 8: 요청 모듈의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.