• 締切済み

GeckoWebBrowserどうやってpost?

はじめてGeckoWebBrowserを使うので全然わかりません。。。次のような方法でPostすると一つ目のURLのページに行くだけでした、Postは何もしなかったのようです。いろいろGeckoLoadFlagsを変えて見ましたが変わりませんでした。 今すっごく悩んでいます。。。 web.Navigate("http://www.mbok.jp/_my0", GeckoLoadFlags.FirstLoad, null, Encoding.GetEncoding("Shift_JIS").GetBytes(poststr), "Content-Type: application/x-www-form-urlencoded" + Environment.NewLine); PS:Windows Form Webbrowserが別の用途で使っていますので、ここは別のWebエンジンを使います、GeckoWebBrowserを選びました。 ぜひ助けてください!

みんなの回答

  • luka3
  • ベストアンサー率74% (297/399)
回答No.1

Content-Length ヘッダが必要のようです。 "Content-Length: " + POSTデータサイズ + Environment.NewLine + "Content-Type: application/ … #もう少し開発環境なり使用ライブラリなどがわかると探しやすいです

関連するQ&A

  • C#でのWebRequestでのPOSTについて

    C#初心者です。 現在Visual Studio2012にてC#でストアアプリ作成中ですが、サーバーへPOSTしリストを取得する処理で難航しています。 WebRequest request = WebRequest.Create("URL"); request.Method = "POST"; byte[] byteArray = Encoding.UTF8.GetBytes(postData); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = byteArray.Length; と記述した場合にrequest.ContentLengthの箇所でContentLengthはSystem.Net.WebRequestに定義が含まれていませんとエラーが表示されます。 何が足りないのでしょうか? 何か追加のアセンブリを指定する必要がありますでしょうか?

  • C# ファイル名を指定してオープン

    StreamWriter swrite = new StreamWriter("C:\\19yamana.csv",false, System.Text.Encoding.GetEncoding("shift-jis")); のファイル名"C:\\19yamana.csv"の部分を変数にしたいのですがうまく出来ません。 やったこと: string fileName = "C:\\19yamana.csv"; StreamWriter swrite = new StreamWriter(fileName, false, System.Text.Encoding.GetEncoding("shift-jis"));

  • ASP.NET SJIS→UTF-8文字コード変換。

    ASP.NETをVBで開発しています。 無償の ASP.NET ホスティング 「WebMatrixHosting Japan」で実行しています。 表題の件ですが、シフトJISのHTMLページから UTF-8のASPXページへPOSTした時に、文字化けすることで困っています。 シフトJISの値をUTF-8に変換できる方法をご存知の方、教えてください。お願いします。 ASCII文字は問題なく実行できます。 以下検証中のコードです ファイル名:SJIS.htm <form action="UTF-8.aspx"> <input type="text" name="username"> <input type="submit"> </form> ファイル名:UTF-8.aspx Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load IF request.form("username") <> "" THEN DIM strIn AS String = request.form("username") Dim bytesData As Byte() = System.Text.Encoding.GetEncoding("shift_jis").GetBytes(strIn) Dim outPut As String = System.Text.Encoding.GetEncoding("UTF-8").GetString(bytesData) Literal1.Text = outPut END IF End Sub

  • C# 文字コード変換

    お世話になります。 宜しくお願いします。 C#でプログラムを開発しております。 その中で、文字列をShift-JISでテキストファイルへ書き出す という処理があるんですが 以下のように指定しても文字コードがUTF-8で書き出されているようです。 コードを調べましたが間違いが見つけられません。 どこか間違いはございますでしょうか。 ご教授宜しくお願いします。 ・文字コードを判別する場所 : http://encode-detector.uic.jp/tool ・テキストの形式 :ファイル名.DMD /////////////// 以下コード /////////////////////////     String param = "テキストへ書き込む内容";     System.IO.StreamWriter sw =          new System.IO.StreamWriter(             @"C:\hoge.DMD",              false,             System.Text.Encoding.GetEncoding("Shift_JIS") );     System.Text.Encoding src = System.Text.Encoding.UTF8;     System.Text.Encoding dest = System.Text.Encoding.GetEncoding("Shift_JIS");     byte[] temp = src.GetBytes(param);     byte[] sjis_temp = System.Text.Encoding.Convert(src, dest, temp);     param = dest.GetString(sjis_temp);     sw.Write(param);     sw.Close();

  • 特殊文字のチェックの仕方

    c sharp(vs2010)環境で開発しています。 http://www.shurey.com/js/labo/character2.html ある文字がこの「特殊文字エリア」にあるか確認したくて、 以下のようなコードを描いてみました。 string str = "(株)"; //カッコカブ です。 Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS"); byte[] bytes = sjisEnc.GetBytes(str); 上記のように書いてみたのですが、byte[]の中には135 138が入っており、 8540~889E(10進で34112 - 34974)特殊文字の範囲には入らないようです。 きちんと値が取れれば、範囲内の数になるはずだと思っているのですが、 認識誤り、コードのミスなどありましたらご指摘いただけないでしょうか。 宜しくお願いします。

  • C#からテキストファイルへの出力について

    お世話になります。 .NET C#で開発をしております。 下記のコードで、テキストファイルへ書き出す際、 何故か最初の1レコード目が書き出されない現象が 起きてしまいます。 どなたかご親切な方、ご教示頂きたく宜しくお願い致します。     記 public static int Syori() { string MitxtPath = @"D:\MData"; string SotxtPath = @"D:\SData"; for (int x = 0; x < 2; x++) { if (x == 0) { FileName = "\\JF01.txt"; } else if (x == 1) { FileName = "\\JS05.txt"; } FileStream fs = new FileStream(MitxtPath + FileName, FileMode.Open); StreamReader r = new StreamReader(fs, Encoding.GetEncoding("Shift_JIS")); if (r.ReadLine() != null) { StreamWriter textFile; textFile = new StreamWriter(SotxtPath + FileName, true, Encoding.GetEncoding("Shift_JIS")); //レコードを書き込む string ZanData; string newData; byte[] bytesData; while ((OkuriNokosi = r.ReadLine()) != null) { bytesData = System.Text.Encoding.GetEncoding(932).GetBytes(ZanData); newData = System.Text.Encoding.GetEncoding(932).GetString(bytesData); textFile.WriteLine(newData); } textFile.Close(); r.Close(); } }

  • Shift_JISデータでPOSTしたいです。

    はじめまして。 よろしくお願いします。 言語はPHPを使用しております。 今回の質問なのですが、UTF-8で作成したページよりデータをShift_JISとしてPOSTしたいと考えております。 いろいろGOOGLEで検索し出てきたのですがどれもダメでした。 <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>テストサイト</title> </head> <body> <form action="http://hoge.com" method="post" accept-charset="Shift_JIS"> <? $namec = mb_convert_encoding(mb_convert_kana($name, "S"), "SJIS", "UTF-8")); ?> <input type="hidden" name="bill_name" value="<?= $namec; ?>"> <input type="submit" value="お支払いへ" onclick="org=document.charset; document.charset='Shift-JIS'; document.UserForm.submit(); document.charset=org;"> </form> </body> </html> 上記のようなフォームを作成しています。 http://warumono.at.webry.info/201110/article_9.htmlを参考にやってみたのですがダメでした。 単純にmb_convert_encodingでは相手のサイトで認識してくれず、上記フォームでやっても認識してくれませんでした。 ブラウザはChromでやっています。 もちろんサイトを運営する上でfirefox IE safariは必須かと考えております。 どうぞ知恵を貸していただければと思いますのでよろしくお願い致します。

    • ベストアンサー
    • PHP
  • InetでHTTPのPOST設定方法

    Inetコントロールで、HTTPサーバにPOSTを使用しデータを送信しようと考えているのですが、 いろいろ調べたところ、できるようになりました。 ソースは以下の通りです。 Inet1.Execute "アドレス" _, "POST" _, "msg=あああ" _, "Content-Type: application/x-www-form-urlencoded" 上記のソースでサーバ側でmsgと指定し「あああ」という値を 取得することができました。 しかし、POSTで複数のデータを送ることができません。 例えば値をnameとmsgの二つを送る場合、 "msg=あああ"の部分にどのように記述すればよいのでしょうか? それとも根本的に何か違うのでしょうか? よろしくお願いします。

  • Netscape で submit() を複数起動できない

    以前に教わった方法で、submit() を使って別ウィンドウに結果を表示させる Javascript を書きました。 IE では、できたのですが、NN(Netscape Communicator 4.7) では以下の Javascript が起動しません。 というか、最後の form3.submit() のみ起動します。submit() の間に alert(); を入れておくと 3 つのウィンドウが開くので、動くことは 動いているようなのですが...。なぜでしょう? --------ここから(ソースの一部) ---------- <SCRIPT LANGUAGE="JavaScript"> <!-- function OpenWin(){ document.form1.submit(); document.form2.submit(); document.form3.submit(); } // --> </SCRIPT> <form name="PapyrusForm" method="POST" action=""> <input type="text" name="searchword" size="60" maxlength="256"><BR> <input type="button" name="Search" value=" 検索 " onClick="OpenWin()"> </FORM> <!-- =========================================== --> <FORM ACTION="/cgi-bin/searchlist1.pl" target="window1" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form1"> </FORM> <FORM ACTION="/cgi-bin/searchlist2.pl" target="window2" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form2"> </FORM> <FORM ACTION="/cgi-bin/searchlist3.pl" target="window3" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form3"> </FORM>

  • C#でブラウザのタイムアウト処理

    Visual C# 2008 Expressで.NET Frameworkアプリケーションの勉強をしています。 今回、テキストファイルに書かれたURLリストを巡回するブラウザを作成しているのですが、サイトの読み込み完了に時間がかかり、途中で停止してしまう現象に悩まされています。 ソースは以下のようになっています。 string[] tempLine = File.ReadAllLines("list.txt", System.Text.Encoding.GetEncoding("Shift_JIS")); foreach (string temp in tempLine) { webBrowser1.Navigate(temp); //読み込みが完了するまで待つ while (webBrowser1.IsBusy == true || webBrowser1.ReadyState != WebBrowserReadyState.Complete) { //読み込み完了後、5秒まってから次に移動する System.Threading.Thread.Sleep(5000); System.Windows.Forms.Application.DoEvents(); } } アクセスして10秒以上たっても読み込みが完了しない場合、次のURLに飛ぶという処理を追加したいのですが、どのようにやったものか悩んでいます。 ご助言を頂ければと思います。よろしくお願いします。

専門家に質問してみよう