C言語を使用したHTMLのフォームへのPOST

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Rails

C言語を使用したHTMLのフォームへのPOST

#1

投稿記事 by Rails » 6年前

C言語でHTMLにPOSTするプログラムを作ろうと考えています。
ソケットから作らなければならなかったりして大変だなぁ…とか思っていたのですが
ググって色々探しながら作ろうとしていました。
残念なことに殆どのサンプルプログラムはwinsockなどを使用したWindows用のプログラムでした。
私の使用している環境はLinux(Debian)です。
どなたか手取り足取り教えてくれないでしょうか
C言語自体そこまで詳しくないのですがなんとか入門書は読んで理解しました。

フォームのHTML

<form action="http://www.hoge.net/" method="post">
<input type="hidden" name="action" value="Cv1">
<input type="hidden" name="rid" value="1"> <input type="hidden" name="caname" value="">
<input type="hidden" id="ncid" name="ncname" value="">
<input type="text" id="cid" name="cname" onmouseover="focus();">
<input type="submit" value="posttest">
</form>

Rails

Re: C言語を使用したHTMLのフォームへのPOST

#2

投稿記事 by Rails » 6年前

すみません
忘れていましたが、コンパイラはgccです。

Math

Re: C言語を使用したHTMLのフォームへのPOST

#3

投稿記事 by Math » 6年前

>残念なことに殆どのサンプルプログラムはwinsockなどを使用したWindows用のプログラムでした。
このサンプルプログラムを提示してくださいますようお願い申し上げます。

アバター
asd
記事: 319
登録日時: 13年前

Re: C言語を使用したHTMLのフォームへのPOST

#4

投稿記事 by asd » 6年前

Rails さんが書きました:C言語でHTMLにPOSTするプログラムを作ろうと考えています。
ソケットから作らなければならなかったりして大変だなぁ…とか思っていたのですが
ググって色々探しながら作ろうとしていました。
残念なことに殆どのサンプルプログラムはwinsockなどを使用したWindows用のプログラムでした。
まずC言語も勉強したてでかつ、HTTP通信の仕組みも勉強中ではないかと思いますので念のため確認です。
「HTMLにPOSTするプログラム」を作りたいとのことですが、提示されているフォームではhttp://www.hoge.net に対してフォームデータを
POSTメソッドで送信するようになっています。
そのためRailsさんがやりたいことは「特定のURLへHTTP通信を行いフォームデータをPOST送信したい」ものと推測していますが
間違いないでしょうか?
以下は推測が正しい前提で回答します。間違っていたらご指摘くださいね。
Rails さんが書きました: 私の使用している環境はLinux(Debian)です。
どなたか手取り足取り教えてくれないでしょうか
C言語自体そこまで詳しくないのですがなんとか入門書は読んで理解しました。

フォームのHTML

<form action="http://www.hoge.net/" method="post">
<input type="hidden" name="action" value="Cv1">
<input type="hidden" name="rid" value="1"> <input type="hidden" name="caname" value="">
<input type="hidden" id="ncid" name="ncname" value="">
<input type="text" id="cid" name="cname" onmouseover="focus();">
<input type="submit" value="posttest">
</form>
Linuxの場合であってもソケット通信にWinSockを使わない以外はほとんど同じ処理になるかと思います。
ただ、手取り足取り付きっ切りで教えられるかはわからないので、まずは参考までにHTTPクライアントを作る例の実装参考ページと
telnetを使ったGET、POSTメソッド通信のやり方例を挙げてみます。

[C言語] HTTPクライアントを作ってみる
https://qiita.com/edo_m18/items/cef278d0c14d1371db3b

telnetで手入力でHTTPをしゃべってみる
https://www.softel.co.jp/blogs/tech/archives/263

HTTPクライアントが実装できたら、telnet通信の時と同じようにヘッダ(Host、Content-Length)と1行空行の後に送信データ(パラメータ名=値を&でつないだもの)を
送信してあげればPOSTメソッドでの送信ができるかと思います。
ちなみにHTMLの中にはなさそうでしたがもしもファイルのアップロードを行う場合には別途処理が必要ですのでご注意ください。

わからないところがありましたら遠慮なく聞いてくださいね(*´ヮ`)

Math さんが書きました:>残念なことに殆どのサンプルプログラムはwinsockなどを使用したWindows用のプログラムでした。
このサンプルプログラムを提示してくださいますようお願い申し上げます。
サンプルプログラムの提示を求めるのであれば、無断転載とならないようURLの提示も併せて行ったほうがよいでしょう。
Advanced Supporting Developer
無理やりこじつけ(ぉ

Rails

Re: C言語を使用したHTMLのフォームへのPOST

#5

投稿記事 by Rails » 6年前

私が見たサイト(winsockを使ったサンプルコード)はこちらのサイトです。
https://tomosoft.jp/design/?p=3636

私がしたいことはasdさんが言う通りです。

まさか、こんなに親切な方が居るなんて思っても見なかったのでレスがあって嬉しいです。
当分は参考に教えていただいたサイトを参考に勉強しようと思います。

返信

“C言語何でも質問掲示板” へ戻る