簡體   English   中英

Python'請求'以錯誤的順序添加參數

[英]Python 'requests' adding parameters in the wrong order

import requests

endpoint = 'http://data.alexa.com/data?'
qparams = {'cli': 10,
           'url': 'www.google.com'}
response = requests.get(endpoint, params=qparams)

print response.url

這告訴我它查看了http://data.alexa.com/data?url=www.google.com&cli=10

哪個網址錯誤,應該是http://data.alexa.com/data?cli=10&url=www.google.com

有人可以幫忙嗎?

字典沒有固定的順序。 如果需要有序參數,則將參數作為一系列(key, value)對傳遞:

qparams = (
    ('cli', 10),
    ('url', 'www.google.com'),
)

你也應該離開? 從URL, requests將為您處理。

演示:

>>> import requests
>>> endpoint = 'http://data.alexa.com/data'
>>> qparams = (
...     ('cli', 10),
...     ('url', 'www.google.com'),
... )
>>> response = requests.get(endpoint, params=qparams)
>>> response.url
u'http://data.alexa.com/data?cli=10&url=www.google.com'
>>> print response.content
<?xml version="1.0" encoding="UTF-8"?>

<ALEXA VER="0.9" URL="google.com/" HOME="0" AID="=" IDN="google.com/">

<KEYWORDS>
<KEYWORD VAL="Mountain View"/>
</KEYWORDS><DMOZ>
<SITE BASE="google.com/" TITLE="Google" DESC="Enables users to search the world's information, including webpages, images, and videos. Offers unique features and search technology.">
<CATS>
<CAT ID="Top/Computers/Internet/Searching/Search_Engines/Google" TITLE="Search Engines/Google" CID="374822"/>
<CAT ID="Top/Regional/North_America/United_States/California/Localities/M/Mountain_View/Business_and_Economy/Industrial/Computers_and_Internet" TITLE="Industrial/Computers and Internet" CID="625367"/>
<CAT ID="Top/World/Français/Informatique/Internet/Recherche/Moteurs_de_recherche/Google" TITLE="Moteurs de recherche/Google" CID="247347"/>
<CAT ID="Top/World/Arabic/إقليمـي/الشرق_الأوسط/السعودية/تجارة_و_أقتصاد/كمبيوتر_و_إنترنت/محركات_بحث" TITLE="كمبيوتر و إنترنت/محركات بحث" CID="204954"/>
<CAT ID="Top/World/Español/Informática/Internet/Buscando_en_Internet/Motores_de_búsqueda" TITLE="Buscando en Internet/Motores de búsqueda" CID="29498"/>
</CATS>
</SITE>
</DMOZ>
<SD>
<POPULARITY URL="google.com/" TEXT="1" SOURCE="panel"/>
<REACH RANK="1"/>
<RANK DELTA="+0"/>
<COUNTRY CODE="US" NAME="United States" RANK="1"/>
</SD>
</ALEXA>

暫無
暫無

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

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