- ベストアンサー
C言語でのOS判断について
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
環境変数にHTT_USER_AGENTが設定されていると思いますので、そこから取得できますよ。 ま、ウェブサーバーにもよるのですが。 ApacheやらIISやらであれば、基本は同じはずです。 ユーザーエージェントの書式は、ネットスケープ社の技術情報から取得できたはずです。 たしか、ブラウザ名、ブラウザバージョン、OS名、OSバージョンを入れましょうという指定があったかと思います。 ただし、Netscape、Mozila、Operaなどは、したがっていたはずですが、InternetExplorerはその標準に従っていなかったはずです。 また、標準の書式はありますが、ユーザーエージェントの内容は、ブラウザが自由に設定できるので、正規表現などで取ることが出来ません(難しい)。 それに、ユーザーエージェント情報をおくらないブラウザもあります。 携帯電話やロボットなどもウェブページへアクセス可能ですし、OSの指定がないものもありますので、お気をつけください。
その他の回答 (5)
- sha-girl
- ベストアンサー率52% (430/816)
CでCGIを作っているのですしょうか? epistemeさんおっしゃてますが ヘッダの情報しか判別の方法はありません。 http://www.kumei.ne.jp/c_lang/intro/no_84.htm ヘッダ情報はあくまでクライアントが送る情報ですので (javascriptも)偽装は可能です。
- sisya
- ベストアンサー率39% (97/245)
早急にと言う事でしたら JavaScriptで取得した判断情報を設定して submit()で飛ばすか Locateで情報を渡してリダイレクトしてみては如何でしょう?
補足
submitボタンを専用で用意ができないのです。 早急ではないので具体的に説明していただけないでしょうか・・・
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
#2の補足: > おそらくプロトコル・ヘッダ内にあるはずです。 HTTP User Agent ヘッダでしょうね。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> Webから送信されたデータをC言語内でブラウザ判別(NetscapeかInternet Explorer)することは可能なのでしょうか?JavaScriptでは判別はできるのですが・・・ その判別情報がデータ内にあるのなら、できるでしょう。 おそらくプロトコル・ヘッダ内にあるはずです。 RFCをお読みになればわかるのではないかと。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
送信されたデータ内に何らかの手掛かりがあればできるでしょうが、その手掛かりが必ずあるとは限らないので、'安全確実'な方法はないのでは?
補足
では、Webから送信されたデータをC言語内でブラウザ判別(NetscapeかInternet Explorer)することは可能なのでしょうか?JavaScriptでは判別はできるのですが・・・ 上記の結果をC言語のデータ内に送信したいのですが・・・
関連するQ&A
- iPhoneアプリのobjective-CとC言語について
プログラミング初心者です。 iPhoneアプリを開発したいと思っているんですが、 まだMacを持っていません。 なので、Windows環境でプログラミングになれておこうと思っているんですが、どのような言語がいいでしょうか? objective-CがC言語ベースだということで、最近C言語を初めて見たんですけど、どうでしょう?
- ベストアンサー
- C・C++・C#
- C言語 Linux Mac
Mac Linux C言語 MacでLinuxをダウンロードするにはどうすれば良いのでしょうか? (種類が多くて困っています) 今日C言語を主に扱う会社に面接に行ってきて、帰り際に「Linux上で動くC言語のMACアドレスを検知するプログラムを一週間後までに作ってきてくれ」と頼まれました。 OSとしてはMacを使っていて、まずはLinuxをダウンロードしたいのですが種類が多すぎて選べません。 Linux上で動くC言語のプログラムを作りたい場合どのLinuxの種類をダウンロードするのが適切でしょうか? Web系(HTML,CSS,JavaScript)の職業訓練を半年受けていたので本当に基本的な事はわかってると思うのですが VirtualBoxでLinuxをダウンロードする際「Download VirtualBox for Linux Hosts」まで行くのはわかるのですが、その後種類が多く困っています。 どれをダウンロードするのが適切でしょうか?(画像の画面の場合です。)
- ベストアンサー
- Linux系OS
- C言語 お勧めの学習用Linux系OS
現在わたしは大学でプログラミング(C言語)の勉強をしているのですが、使っている自分のPCはWindowsです。 デュアルブートをするのは、難しそうなので、1CD Linuxを使用したいと思っております。 1CD LINUXでC言語学習にちょうど良いOSを教えてください。
- ベストアンサー
- C・C++・C#
- MacでC言語を使いアプリケーションを作っています。
前の質問でおかしな質問をしてしまったのでここで改めて質問します。 今、MacでWindowsのアプリケーションをつくろうとしています。しかし、Windows固有の関数をMacではどのように記述すればよいかが分からないので全然進みません。MacでC言語を解説しているページは少なく、Windows関数はMacでどうするのかといった解説はもちろんありません。Macにしようとしているアプリケーションはパワポケのパスメってやつで、プログラムの言語はC++言語です。 http://f1.aaa.livedoor.jp/~pasume/pass/pasume.htm 上のサイトの『PM_GB1 Ver1.0』というアプリケーションです
- ベストアンサー
- C・C++・C#
- SSLをC言語でプログラミング
C言語を用いてSSLを実装するプログラムを 作りたいと思っていますが、行き詰まっています。 わかる方いたらよろしくお願いします。 OSはWindows2000で動かしたいと思っています。
- ベストアンサー
- その他(インターネット・Webサービス)
- C言語のコンパイルについて...。
あの、C言語を勉強しているのですが、コンパイル法がわかりません。 作成は ”秀丸”で行っています。MS-DOSプロントでコンパイルは、どうやれば、できるのでしょうか? Visual C は持っていますがインストしていません。 OSはWindows2000です。 コンパイルの手順や いいコンパイルソフトがあればお願いします。
- 締切済み
- C・C++・C#
- Windowsはいったい何言語で書かれているのでしょうか?
OSのWindowsですがいったい何言語で書かれているのでしょうか? 普段使用しているアプリケーションなどはCやC++などですがOSがCで書かれているとは聞いたこともありません。どのような言語で書かれているのでしょうか?
- ベストアンサー
- Windows系OS
お礼
参考になりました。ありがとうございました。