urllibモジュールを使用してURLにgetリクエストを送信できるようにURLを作成しようとしています。
final_url私がすべきだとしましょう
url = "www.example.com/find.php?data=http%3A%2F%2Fwww.stackoverflow.com&search=Generate+value"
これを達成するために、私は次の方法を試しました。
>>> initial_url = "http://www.stackoverflow.com"
>>> search = "Generate+value"
>>> params = {"data":initial_url,"search":search}
>>> query_string = urllib.urlencode(params)
>>> query_string
'search=Generate%2Bvalue&data=http%3A%2F%2Fwww.stackoverflow.com'
今、あなたが私query_stringのフォーマットとfinal_urlあなたのフォーマットを比較すると、2つのことを観察することができます
1)パラメータの順序が逆にdata=()&search=なります。search=()&data=
2)urlencodeもエンコードさ+れますGenerate+value
最初の変更は、辞書のランダムな動作によるものだと思います。だから、私OrderedDictは辞書を逆にするために使用することを考えました。として、私は私がしたを使用しpython 2.6.5ています
pip install ordereddict
しかし、試してみるとコードで使用できません
>>> od = OrderedDict((('a', 'first'), ('b', 'second')))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'OrderedDict' is not defined
OrderedDictだから、私の質問は、Python 2.6.5で使用する正しい方法は何ですか、そしてどのように私はでをurlencode無視する+ようにするのですかGenerate+value?
また、これはビルドするための正しいアプローチですかURL。