iPhoneからAWSに置いたpythonファイルの実行結果を取得したい

Python勉強し始めて少し解ってきた気がしたのでiPhoneから実行して返事が欲しい。と思ってみたけど返り値の取得方法がわからず相談したら丁寧に教えていただけたので保存。
0
岡田哲哉 @t_okada

@Rento83 根本的にあれなんだけど、Pythonはどこかのサーバーで動かしてるの?

2012-06-12 18:46:07
Rento @rento83

@t_okada どこのサーバーにもまだ置いて無いです。ただハローって文字列をiPhoneに返すだけのプログラム作りたかったのですが、基本がなさ過ぎてつまづきましたw 基本が勉強したいのですがhttpリクエストとか調べればいいんですかね?(._.)

2012-06-12 18:52:24
岡田哲哉 @t_okada

@Rento83 なるほど、手元のMacか何かでPythonを動かしてみたわけだよね。それをiPhoneから叩けるようにするにはHTTP ServerをMacで動かす必要がある。ここまではOK?

2012-06-12 18:55:06
Rento @rento83

@t_okada はい!そこまではイメージ出来てきました!

2012-06-12 19:43:42
岡田哲哉 @t_okada

@Rento83 OK。じゃあ、MacでHTTP Server(たとえばApache)を動かして、何か固定のJSONでも置いてアクセスしてみる(ここでハローとか返してみる)。それが出来たら、それをPythonで書いたCGIに置き換えてみる。そんな手順かな。

2012-06-12 19:50:28
Rento @rento83

@t_okada ありがとうございます!かなり簡潔にまとめて頂いて!( ༎ຶŎ༎ຶ ) そこまでやってみます!

2012-06-12 19:52:52
Rento @rento83

@t_okada JSONファイルGETできましたです!ただやっぱりわからないのが、これがpythonファイルに対して行うとhoge.pyファイル自体を取得してしまう訳ではないんでしょうか?

2012-06-12 20:14:22
岡田哲哉 @t_okada

@Rento83 そう。その通り。だからhoge.pyってファイルはCGIだよ(=「そのファイルを返す」のではなく「そのファイルを実行して結果を返す」)ということをApacheに教えてあげなきゃいけない。(続く)

2012-06-12 20:20:40
岡田哲哉 @t_okada

@Rento83 たとえばApacheであれば、その設定ファイル(httpd.confとか.htaccess)に AddHandler cgi-script .py みたいに書いておくと、.pyという拡張子のファイルはCGIとして扱ってくれる。

2012-06-12 20:22:56
岡田哲哉 @t_okada

@Rento83 Apacheの設定ファイルはそれだけで本が1冊書けるくらい複雑なので、じっくりいろいろ実験してみるのが良いと思います。

2012-06-12 20:25:34
Rento @rento83

@t_okada なるほど!適当にいじくってみますwありがとうございます!

2012-06-12 20:26:39
岡田哲哉 @t_okada

@Rento83 CGIの書き方みたいなページに一緒にApacheの設定方法とかも書いてあったりするね。この辺は実際に設置するときはサーバーを設定したとこ(レンタルサーバ業者だったりAWSだったり)に依存したりもする。

2012-06-12 20:29:43
Rento @rento83

@t_okada そういうのをググるならcgi関連を勉強すれば解るんでしょうか?であとひとつだけ聞きたいんですが、この延長線上にソーシャルゲームみたいなシステムもあるんでしょうか?

2012-06-12 20:25:52
岡田哲哉 @t_okada

@Rento83 ソーシャルゲームなんかもだいたい延長上にある話。ただ、CGIというのは基礎的ではあるけど能率の悪い部分もあるので、実際にはもっといろいろな技術が使われているわけ。

2012-06-12 20:32:59
Rento @rento83

@t_okada なるほど!とりあえず基礎のCGIとやらで勉強してみます!マジで助かりました!><

2012-06-12 20:34:01
岡田哲哉 @t_okada

@Rento83 うん。とりあえずCGIを作ればHTTPのレスポンスコードとかヘッダーをどう書くとか、そういうのは勉強できると思う。そのあたりが基礎。で、最新の事情のほうは僕なんかよりたぶん @u_mizo さんあたりが詳しいと思う。(と振ってみるw)

2012-06-12 20:36:09
ゆうぞら @gaolay

@Rento83 ドットインストールで勉強するといいですよ。超高速に理解できます。

2012-06-12 22:15:58
ゆうぞら @gaolay

@Rento83 ドットインストールというのは動画学習サイト

2012-06-12 22:16:16
Rento @rento83

CGIってのをドットインストール! RT @gaolay: @Rento83 ドットインストールで勉強するといいですよ。超高速に理解できます。

2012-06-13 01:06:15
ゆうぞら @gaolay

@Rento83 CGIってのは単なるデータの受け渡し方で、原理まで知ってる必要はないので利用法だけ言語と一緒になれるのが早いです。

2012-06-13 01:12:28
ゆうぞら @gaolay

@Rento83 http://t.co/jcG5qkzj みたいにURLに?のあとに引数渡すのがGET、URLには出てこないのがPOST、だけ覚えとけば理解できます

2012-06-13 01:13:32
岡田哲哉 @t_okada

@gaolay @Rento83 原理を知ってれば何でも作れますね。ヘッダ送って空行送って中身送って終わり。面倒なのはパラメータの分析のほうだけど、れんと君の場合は自分のアプリでURL作って叩くわけだから決めうちでもいいかもだし。

2012-06-13 01:18:26
ゆうぞら @gaolay

@Rento83 CGIで調べると標準入力とか環境変数とか用語出てくるけど、それ知らなくても使い方はわかります。

2012-06-13 01:16:44
ゆうぞら @gaolay

@Rento83 URLに引数渡すのがGETです。POSTはポストにいれちゃうから引数見えないとおぼえましょうw

2012-06-13 01:27:13
ゆうぞら @gaolay

@Rento83 @t_okada 乱暴にいっちゃえばネットワーク介した関数コールですw

2012-06-13 01:22:40