私はサイトのopskinsのボタンをC#アプリで押してみようとしています。私は、ブラウザでそれを押すと、シオマネキは私に次のC#(.NET)、認証付きhttp Webリクエスト(postメソッド)。とクッキー
を与える
...私はそのための十分な経験を持っていないので、私は、私はなど、愚かなミスをし、余分なヘッダを追加すると思います私のコード:
string username = textBox2.Text;
string password = textBox3.Text;
string userData = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username + ":" + password));
/*Add Auth Header*/
string referer = "https://opskins.com/?loc=shop_checkout";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(referer);
/*Cookie and spec. Headers*/
request.Headers.Add("Cookie", "Cookie string from Fiddler here");
request.Headers.Add("X-OP-UserID", "2484329");
request.Headers.Add("X-CSRF", "2kXrd2qBf4eFxW1O6tM2ye3DELn4SJzDH");
request.Headers.Add("Authorization", "Basic" + userData);
string fData = "action=buy&hidden_bal=0&total=" + textBox1.Text + "&accept_tos=1&type=2";
byte[] eData = Encoding.UTF8.GetBytes(fData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";
request.ContentLength = eData.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(eData, 0, eData.Length);
}
私のアプリが実行されている、シオマネキ私
0123を与えますまだ動作しません。修正する必要がありますか、コードに追加する必要がありますか? 誰かが私のサイトの1つのボタン(C#のみ)を押すより簡単な方法を教えてくれますか?
ネットライブラリは、チャンクモードであるhttp1.1をサポートしていません。チャンクでは、クライアントは次のチャンクを要求しなければならず、HttpWebRequestを使用して新しいチャンクを発行する方法はありません。代わりにhttp1.0を使用します:request.ProtocolVersion = HttpVersion.Version10; – jdweng
このHTTP 2.0ライブラリをC#https://github.com/Redth/HttpTwo – Mangist