2016-05-06 6 views
1

私はPythonで小さなスクリプトを書いて、Windows上でそれを実行するのがいいです。私は間違いがない。 Windowsでは私のPythonのバージョンは3.5です。Pythonがmodule get functionを要求します

私はUbuntuの、Pythonの3.4で同じプログラムを実行しようとしていますが、私は次のエラーを取得しています:

Traceback (most recent call last): 
    File "urlscript.py", line 356, in <module> 
    postcheck[dc]() 
    File "urlscript.py", line 17, in DC8Prod 
    pmlogin(url,payload) 
    File "urlscript.py", line 254, in pmlogin 
    mainpage=requests.get(url,payload) 
TypeError: get() takes 1 positional argument but 2 were given 
+0

get()関数で監視します。あなたは彼の2つの議論をしたが、彼は1つしか望んでいない。 – valex

+0

Ubuntuにはどのバージョンの 'requests'がインストールされていますか、どのバージョンのWindowsですか? 'payload'がクエリパラメータを持つ辞書である場合、位置引数ではなく' query = payload'です。 –

+0

@valexしかし、私はウィンドウで問題が発生しませんでした –

答えて

3

はのみurlは本当に位置引数としてサポートされています。クエリパラメータとGET要求のために、キーワード引数としてparamsを使用します。

mainpage = requests.get(url, params=payload) 

Passing Parameters In URLsを参照してください。

requests(2.7.0以降)の最新リリースでは、それが可能すぎ位置パラメータとしてそれを使用すること、requests.get()機能にparams明示的な議論を行いました。 Ubuntuのあなたのバージョンはそれよりも古いものでなければなりません。

+0

私はとても愚かですhttp://docs.python-requests.org/ja/master/user/quickstart/#passing-parameters-in-urls –

関連する問題