0

コマンドが機能しない理由を教えてもらえますか?

ここに私のフォームがあります:

<form id="query" method="POST" action="https://weblogin.mycompany.com/"
enctype="application/x-www-form-urlencoded" autocomplete="off">
<table border="0" align="center">
<tr>
<td class="fieldname">Username:</td>
<td><input type="text" name="user" size="20" value="" class="inputfield" /> </td>
</tr>
<tr>
<td class="fieldname">Password:</td>
<td><input type="password" name="pass" class="inputfield" /></td>
</tr>
<tr>
<td class="fieldname"></td>
<td><input type="submit" value="Log in &raquo;" /></td>
</tr>
</table>
<div id='notifyuser'></div>
</form>

そして、ここに私のwgetコマンドがあります:

% wget --save-cookies /tmp/cookies.txt --post-data 'user=my_id&pass=my_passwd' \ https://weblogin.mycompany.com/

上記の wget コマンドを実行した後、Cookie ファイルは空です。

% cat /tmp/cookies.txt
# HTTP cookie file.
# Generated by Wget on 2013-07-02 16:23:39.
# Edit at your own risk.

そしてhttp応答:

% wget --keep-session-cookies --save-cookies /tmp/wget03_cookies.txt --post-data 'user=my_id&pass=my_passwd' **https://weblogin.mycompany.com/**
 --2013-07-03 09:52:06--  https://weblogin.mycompany.com/
 Resolving weblogin.mycompany.com... 1.1.1.1
 Connecting to weblogin.mycompany.com|1.1.1.1|:443... connected.
 HTTP request sent, awaiting response... 200 OK
 Length: 4477 (4.4K) [text/html]
 Saving to: `index.html.10'

 100%[===========================================================================>] 4,477       --.-K/s   in 0s

 2013-07-03 09:52:06 (36.8 MB/s) - `index.html.10' saved [4477/4477]

私は何を間違えましたか?


私はこのスレッドで解決策を見つけるかもしれません: wget with authentication

解決策は次のとおりです。

#!/bin/sh

# get the login page to get the hidden field data
wget -a log.txt -O loginpage.html http://foobar/default.aspx
hiddendata=`grep value < loginpage.html | grep foobarhidden | tr '=' ' ' | awk '{print $9}' | sed s/\"//g`
rm loginpage.html

# login into the page and save the cookies
postData=user=fakeuser'&'pw=password'&'foobarhidden=${hiddendata}
wget -a log.txt -O /dev/null --post-data ${postData} --keep-session-cookies --save-cookies cookies.txt http://foobar/default.aspx

# get the page your after
wget -a log.txt -O results.html --load-cookies cookies.txt http://foobar/lister.aspx?id=42
rm cookies.txt

私が理解していないのは、hiddendata の生成中に「foobarhidden」を代用するために何を使用することになっているのですか?

次の部分で答えが得られると思います。しかし、私は正確に何をすべきかわかりません:

% grep value < loginpage.html | grep hidden
3:109:<input type=hidden name=pubcookie_g_req value="b25lPWFsb2hhLmFrYW1haS5jb20mdHdvPWFsb2hhJnRocmVlPTEmZm91cj1hNWEmZml2ZT1HRVQmc2l4PWFsb2hhLmFrYW1haS5jb20mc2V2ZW49THc9PSZlaWdodD0mYWthX2ZyYWc9Jmhvc3RuYW1lPWFsb2hhLmFrYW1haS5jb20mbmluZT0xJmZpbGU9JnJlZmVyZXI9KG51bGwpJnNlc3NfcmU9MCZwcmVfc2Vzc190b2s9NjMzMzQ0OTI3JmZsYWc9MA==">
4:110:<input type=hidden name=post_stuff value="">
5:111:<input type=hidden name=relay_url value="https://weblogin.mycompany.com/PubCookie.reply">

ありがとう!!

4

1 に答える 1

0

あなたの質問では、接続していると言っていますhttps://...が、ログにはそれがありますhttp://...-おそらくそれが問題ですか? https://...コマンドラインで使用していることを確認してください。

于 2013-07-02T21:25:04.587 に答える