URLを作成して、urllib
モジュールを使用してリクエストを送信できるようにしようとしています。今、あなたはあなたがオブザーバー二つのことをすることができますfinal_url
の形式で私のquery_string
を比較する場合urlencode pythonを使用してクエリ文字列を作成する
>>> 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'
:
は、私は、以下の方法を試してみましたこれを達成するために今の私のfinal_url
が
url = "www.example.com/find.php?data=http%3A%2F%2Fwww.stackoverflow.com&search=Generate+value"
する必要がありますと仮定してみましょう
1)パラメータの順序は、data=()&search=
ではなく逆になります。012
2)も、私は最初の変更は、辞書のランダムな振る舞いが原因であると考えてい
Generate+value
で+
をコードしていました。ですから、私はOrderedDict
to reverse the dictionaryを使っています。 、私は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
を作成する正しい方法ですか。
私は 'コレクションからインポートOrderedDict'を試みましたが、今は' ImportError:OrderedDictという名前をインポートできません。私はPython '2.6.5' – RanRag
を使用しています。これはpyton 2.4から入手可能です。 'import collections'を実行すると、何が得られますか? –
コレクションを正常にインポートできますが、エラーはスローされません。私は 'OrderedDict'がPython 2.7から導入されました。 – RanRag