| 分類:[C#]
2010/09/01(Wed) 13:02:19 編集(投稿者) 2010/09/01(Wed) 13:02:12 編集(投稿者) 2010/08/31(Tue) 22:10:00 編集(投稿者)
はじめまして。 下記の環境でネットワークプログラムを組んでいる者です。
OS:WindowsXP(SP3) エディタ:Visual Studio 2008 言語:C#(.NET Framework 2.0←インストールされているのは3.0です)
PHP:5.2.13
htaccessでBasic認証が掛かっているPHPファイルに対してWebClient.UploadValuesを行った所、 $_POST、$_GET共にデータがなく、$_SERVER["REQUEST_METHOD"]にデータが入力されていました。 var_dump($_SERVER)を行うとこのような感じです。
array(29) { 中略 ["REQUEST_METHOD"]=> string(11) "abc=defPOST"; }
Basic認証を外すと問題なく動作します。 ブラウザからフォームで送信した場合も全く問題ありません。
htaccessが問題なのでしょうか? 色々試してみたのですが、401や500エラーになってしまうだけでうまく動作しません。
ご教授宜しくお願いします。
以下ソースです。
---------------- C# ---------------- using(WebClient wc = new WebClient()) { wc.Credentials = new NetworkCredential("ユーザ名", "パスワード"); NameValueCollection values = new NameValueCollection(); values.Add("abc", "def"); string str = Encoding.UTF8.GetString(wc.UploadValues("http://*****.com/test.php", values)); MessageBox.Show(str); }
---------------- .htaccess ---------------- Options -Indexes
<Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /home/***/.htpasswd AuthGroupFile /dev/null AuthName "password" AuthType Basic Require valid-user order deny,allow
---------------- PHP ---------------- <? var_dump($_SERVER); ?> |