2016-07-19 8 views
1

特定のURLでGETリクエストを実行したいが、これを行う前に接続を確立する必要がある。 論理的には、私はウェブサイトに接続する必要があります。コマンドラインにログインしてからGETリクエストを実行する

私は、カールとwgetのでそのような何か試してみました:接続は仕事を思わ

curl -d server_name=www.starsquest.co.uk&uni=1&username=MYUSERNAME&password=MYPASSWORD&x=0&y=0" --dump-header headers http://s2.starsquest.co.uk/?page=login

を、私のようなものを得る:

HTTP/1.1 302 Found 
X-Powered-By: PHP/5.4.36-0+deb7u3 
Content-Type: text/html; charset=UTF-8 
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" 
Set-Cookie: StarsQuest=1asb9t24g9l26lpdu207h8rms2; expires=Sun, 24-Jul-2016 07:20:17 GMT; path=/; HttpOnly 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
Location: http://s2.starsquest.co.uk/game.php?mode=login 
Content-Length: 0 
Date: Tue, 19 Jul 2016 07:20:17 GMT 
Server: lighttpd/1.4.31 

を次の要求は、次のとおりです。

curl -H "Accept: application/xml" -H "Content-Type: application/json" -X GET http://s2.starsquest.co.uk/game.php?page=showfleets&ajax=1 

しかし、事前に確立された接続を使用するにはどうすればよいですか?出来ますか ?両方の要求であなたの助けのための

おかげで

答えて

1

使用cookie-jarオプション:

curl --cookie-jar cookies.txt -d "server_name=www.starsquest.co.uk&uni=1&username=MYUSERNAME&password=MYPASSWORD&x=0&y=0" --dump-header headers "http://s2.starsquest.co.uk/?page=login" 

curl --cookie-jar cookies.txt -H "Accept: application/xml" -H "Content-Type: application/json" -X GET "http://s2.starsquest.co.uk/game.php?page=showfleets&ajax=1" 

これは、要求を行う前に、指定したファイルからクッキーを読み、それが後に行われ、それがするので、新しいものを格納しますセッションデータを保存できます。

+0

ありがとう!そして、どのようにしてレスポンスボディを入手できますか? – cooow

+0

'-o file.txt'を使用できます –

+0

このオプションを追加すると、端末に以下の出力が表示され、何も起こりません。 [1] 11619 azerty @ vps197415〜/ sq#%受信した合計%%Xferd平均速度時間時間現在の時間 Dloadアップロード使用済み総スピードの残り速度 0 0 0 0 0 0 0 - : - : - - : - : - : - : - - 0 – cooow

0

リダイレクトに従う必要があります。

カール-L -d "SERVER_NAME = www.starsquest.co.uk & UNI = 1 &名= MYUSERNAME &パスワード= MYPASSWORD & & X = 0、Y = 0" --dumpヘッダヘッダhttp://s2.starsquest.co.uk/?page=login

次のリクエストで、前回のリクエストからファイルにダンプされたヘッダーを追加します。それは何かこれでなければなりません。

curl -L - ダンプヘッダーヘッダー-H "日付:1967年7月19日13:46:50 GMT" -H "Content-Type:text/html; charset = ISO-8859-1" - H "転送チャンク" -H "接続:キープアライブ" -H "セットクッキー:__cfduid = daf5017ceaf3bd2369687ad910be2a3cf1468936009;期限切れ= Wed、19-7-13 13:46:49 GMT; path =/domain = .starsquest.co.uk; HttpO $ "-H" X-Powered-By:PHP/5.4.4-14 + deb7u14 "-H" set-Cookie:proxy_check = 1; expires = Tue、26-Jul-2016 13 :53:33 GMT "-H"セットクッキー:starsquestsession_id = 4f565c147ac949fa451020ae4c6b5ed0;パス= /;ドメイン= .starsquest.co.uk; httponly "-H"セットクッキー:universe_var = 2;期限= 19-7月-2017 13:53:33 GMT "-H"キャッシュコントロール:no-cache、re-revalidate、max-age = 0 "-H"期限:Mon、18 Jul 2016 13:53:33 GMT "-H"プラグマ:no-cache "-H"可変:Accept-Encoding "-H"サーバー:cloudflare-nginx "-H" CF-RAY:2c4e9f2d680b28d8-DXB "-X GET http://s2.starsquest.co.uk/game.php?page=showfleets&ajax=1

明示的な許可なしに一部のサイトをスクラップすることは非倫理的/違法です。

0

使用これだけ@kryzk液のようなものの追加 "-L"

カール--cookieジャーcookies.txt -L -d「SERVER_NAME = www.starsquest.co.uk &ユニ= 1つの&ユーザ名= MYUSERNAME &パスワード= MYPASSWORD & & X = 0、Y = 0" --dumpヘッダヘッダ "http://s2.starsquest.co.uk/?page=login"

カール--cookieジャークッキー。txt -L -H "Accept:application/xml" -H "Content-Type:application/json" -X GET "http://s2.starsquest.co.uk/game.php?page=showfleets&ajax=1"

関連する問題