2012-01-06 1 views
2

関連問題になっていない:個人的なプロジェクトとしてSet session to scrape pageクッキーを送受信するようにカール用いるが、予想される応答

を、私はRESTfulなAPIとして、それを提供するために、私の大学のコースカタログをこすりしようとしています。

URL1:https://duapp3.drexel.edu/webtms_du/

URL2:https://duapp3.drexel.edu/webtms_du/Colleges.asp?Term=201125&univ=DREX

URL1に行くには、URL2のために必要とされているクッキーを設定します。しかし、応答は私が私のブラウザで見るものと異なるを取得

curl -c recd url1
curl -v -b recd url2

:私は正常に受信して、このようなクッキーを送っています。 curlではなく、専攻のリストで、それは私は多分、彼らがユーザーエージェントをチェックした考え出したので、私はこれを試してみました

<FONT COLOR=red size=5> The lists of subjects are not available online for the selected term at this time.</FONT><FONT COLOR=red size=5> Please check back again later.</FONT>

を持つページを取得しながら、基本的には、私のブラウザは、私の専攻のリストを示していうまく:

curl -b recdcookies --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" https://duapp3.drexel.edu/webtms_du/Colleges.asp?Term=201125&univ=DREX

しかし、同じ予期しない応答。

ブラウザとカールの出力が異なる原因は何ですか? curl -vまでは、1つのクッキーしか設定されていません。それはhttpsページであり、別の引数をcurlに追加する必要があるためですか?

+0

2番目のリクエストで最初のリクエストのCookieを含めていますか? –

+0

@ nikc.orgです。最初は私がいなかったとき、返されたページには「無効な引数...」というメッセージがありました。今度は復帰しますが、コースのリストがないので、クッキーがうまくいっていると思います。 – xbonez

+0

おそらく愚かな質問ですが、コマンドラインでURLを引用符で囲みましたか?アンパサンドは、引用符で囲まれていない(バックグラウンドで実行されている)ときに特別な意味を持ちます。私はコースリストをうまく取得できます。 –

答えて

3

コマンドラインでcurlを使用する場合、アンパサンド(&)が含まれている場合は、unixシステム上で特別な意味を持つため、urlを引用符で囲む必要があります。

関連する問題