サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
blog.hogeo.jp
HTTPにおけるGETとPOSTの話。 ◆ GETメソッド URLの末尾に'?'で連結する、複数のリクエストパラメータ。複数ある場合は各パラメータと'&'で連結する。URLとリクエストパラメータを足し合わせて、ひとつのリクエストとするもの。 (例) http://www.google.co.jp/search?q=%E3%81%BB%E3%81%92&lr=lang_ja 赤文字:URL 青文字:リクエストパラメータ 黒文字:接続文字('?','&') ◆ POSTメソッド いわゆる"入力フォーム"を使ってサーバに情報を送信する。掲示板が一番いい例。 ブラウザのアドレス欄やリクエストパラメータに情報が入らないので、パスワードなどの秘匿性の高い情報を送信する場合には、POSTでなければセキュリティを保つことが出来ない。 ◆ 参考URL リクエストパラメータ
通信テストの目的でChunked EncodingなHTTP Response Trafficを流すために必要だったことを書き残します。 [Topology] Client---Server [Client] Windows 7 Firefox 3.6.15 [Server] Ubuntu 10.04 Apache: 2.2.14 Perl: 5.10.1 Chunked EncodingはResponseのContent-Lengthが決まっていない場合に用いるもので、CGIなどによって動的にコンテンツが変化する場合やストリーミング等のコンテンツはウェブサーバは通常Chunked EncodingでResponseを返そうとします。 コネクション接続時にコンテンツの終端(Content-Length)が決定していないので、持続接続を継続する必要があります。そのためにConnectionヘ
tsharkはWiresharkのCLI(コマンドライン)版と言えるもので、GUIのないサーバ上やターミナルからtcpdumpと同じ利便性で使える、パケットキャプチャです。tsharkによるSummaryもWiresharkど同等の内容で確認できるので、tcpdumpよりtsharkの方が好まれる人も多いのでは。 GUIではWiresharkが最もメジャーなパケットキャプチャで、使用されている方も多いかと思います。かたやCLIではtcpdumpを使う方が多いのではないでしょうか。この場合、tcpdumpの代わりにtsharkを使うとCLIでもWiresharkと同様の確認が行えるのでよいかもしれせん。 tsharkはWiresharkのパッケージに含まれて提供されていますので、Wiresharkがインストール済みであれば既に実行可能かと思います。 WindowsやLinuxでは下記Path
以前にもUbuntuでpppoe-serverを使ってPPPoEサーバを立てるというエントリを作成しましたが、Ubuntu 11.04になって少しだけ設定ファイルが変わったので、改めてUbuntu 11.04でのPPPoEサーバの設定方法を書き残します。 基本的に、最小構成でPPPoEリンクを作成するために、ローカルでのPAP認証などを使ってシンプルに設定する方法を紹介します。 pppoeのインストール % sudo apt-get install pppoe Ubuntuのネットワーク設定を準備 man pppoe-serverにとても丁寧に設定方法や注意事項が記載されていますので、読めるようであればこのドキュメントを確認しながら進んでください。 , まずは、ppp0論理インターフェースを割り当てるサーバの物理インターフェース(eth0など)にはIPアドレスを設定しないでください。ppp
「変換変換・・・」 GETリクエストの際に、URLとリクエストパラメータを結合する方法と、ダブルバイト文字(日本語とか)をリクエストに載るようにエンコードする方法。 たとえば、Googleで「ほげ」を検索すると、次のようなGETリクエストが生成されるとする。(ちょっとリクエストを省略) http://www.google.co.jp/search?q=%E3%81%BB%E3%81%92&lr=lang_ja 'http://www.google.co.jp/search'に'?'を付けて、2つのリクエストパラメータを結合している。コレをPythonで作り出す。 import urllib url = 'http://www.google.co.jp/search?' keyword = u'ほげ' lang = 'lang_ja' encoding = 'utf-8' query = {
Twitter Botに何かしらTweetをさせる際、一番に気をつけることというのは重複してTweetしてしまうこと、あるいは同一のTweetに対してReplyをしてしまうことではないでしょうか。 実際にはTwitter API側で、直前数個までの内と同一のTweetをPost出来ない仕様があるので、メッセージ自体が同じであればAPIをCallした時点でErrorとなります。 メッセージを動的に変更するケースだと、これもやはり同じTweetに対して連続してReplyするのを避けたいです。 これらのために、重複排除の機構をBotに取り入れる必要があります。 最初に思いついたのが、直前にReplyしたStatus.idをローカルファイルに記録し、次回にこれと同一のTweetに対してはReplyしない条件文を入れることです。これをLocalhostで実行する分には問題ありませんが、Google
Twitter APIを使って単純なPostが出来るようになったので、早速本番環境で動かしてみましょう。LocalのLinux環境などではただ単純に実行したらよかったのですが、Twitter Botの本番環境では自動的にimportされていたPython Libraryもちゃんと用意しておく必要があります。 本番環境はやはり、Google App Engine(GAE)にしましょう。アカウントを作成してApplicationを作成しておきましょう。 GAEのセットアップ方法や他所のブログ等を参考にし、下記を作成しましょう。例として、私のテスト用Twitter Botであるhogeotterの場合で説明します。Local環境にあるライブラリがGAEで用意されてなければ、それらを取り揃えてGAEにupdateする必要があります。 /hogeotter.py /secret.py /app.ya
それでは実際にTweetを投稿してみましょう。 ここからはWrite権限を持つ任意のユーザーでOAuthしたインスタンスが必要です。 使用するメソッドはPostUpdate()です。 twitter.Api.PostUpdate = PostUpdate(self, status, in_reply_to_status_id=None) unbound twitter.Api method Twitter Status(Tweet、あるいは"つぶやき"と呼ばれているテキスト)を、認証ユーザからPostします。 引数 status: PostするText in_reply_to_status_id: Reply対象のStatus(tweet)のID。これに指定されたIDのStatusに対してReplyを行う 返り値 Postされたtwitter.Statusインスタンスオブジェクト サンプル
PythonでTwitterアプリケーションを作る時には、Pyton Twitter APIであるpython-twitter。これを使ってまずはTwitter APIに慣れることから始めると良いと思います。私も今まさにこれから始めています。 ※ この記事は、Pythonの環境があって基本的なコードが書けて、これからTwitter APIを学習したい方向けに書かれています。 さて、公式ドキュメントは以下のコマンドでローカルでも参照可能です。 % pydoc twitter Help on module twitter: NAME twitter - A library that provides a Python interface to the Twitter API FILE /usr/local/lib/python2.7/dist-packages/python_twitter-0
This is my personal note to know hot to make my Twitter Bot. First of all, you and I should use python-twitter library. It's easy to use for python user. Important points for recently Twitter Bot development are below. - New account for the bot - Authentication by OAuth. Basic authentication is no longer available 1. Install python-twitter I hope you already have linux machine which includes pytho
Compare with Logitech by kayakleader Ruby(ルビー)は、まつもとゆきひろ(通称Matz)により開発されたオブジェクト指向スクリプト言語であり、従来Perlなどのスクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。Rubyは当初1993年2月24日に生まれ、1995年12月にfj上で発表された。名称のRubyは、プログラミング言語Perlが6月の誕生石であるPearl(真珠)とほぼ同じ発音をすることから、まつもとの同僚の誕生石(7月)のルビーを取って名付けられた。 Wikipediaより引用 Python(パイソン)は、Guido van Rossumによって作られたオープンソースのプログラミング言語。オブジェクト指向スクリプト言語の一種であり、Perlとともに欧米で広く普及している。イギリスのテレビ局 BBC が製作したコ
rupauk's scrapbook ~ programming notes by striatic 前回の続きで、RubyによるWeb API開発環境を整える準備です。 HTMLにRubyを組み込む場合、通常では /usr/local/bin/ruby インタプリタを呼び出して、Rubyのコードを読ませて、結果的にHTMLを出力するでしょう。 その場合の大きな問題点があって、HTMLのコードをひとつひとつprint文の連続になってしまうことです。HTMLのタグをいちいちprintしまくるなんて、汚すぎて見れたものじゃないです。 PHPのようにHTMLで <?php ・・・ ?> とくくって、HTMLの中にコードを組み込む形にしないと、ほんとしんどい。 ソリューションとしては、eRubyかERBを使用するということです。私の使っているサーバはeRubyが利用可能な状態ではなさそうなので、E
「HTTPリクエストの作法を学びましょう」 Pythonでウェブコンテンツへアクセスするための第一歩。 % python >>> import urllib >>> url = 'http://www.google.com' >>> filehandle = urllib.urlopen(url) >>> data = filehandle.read() >>> print data % python >>> import urllib >>> proxies = proxies={'http': 'http://192.168.0.1:8080'} >>> url = 'http://www.google.com' >>> filehandle = urllib.urlopen(url, proxies=proxies) >>> data = filehandle.read() >>>
ほげおがそもそもRubyを勉強し始めたのは、最近流行の"Web API"や"マッシュアップ"によるウェブサイト構築を、Ruby on Railsのフレームワークを利用してやってみたい!というのが最初の動機。 地道にRubyの文法を覚え始めてきたので、そろそろウェブのリソースと連携してみようと思います。今回はそのよくあるサンプル例。 基本的にやりたいことは、今のレベルではこんなこと。 ウェブサーバにリクエストを送って、何かしらの応答を取得する Web APIを叩いて、サーバから何かしらの応答を取得する サーバからXML形式で応答を取得し、そのデータを利用する まずはサーバとお話ができなければならないので、基本的なコミュニケーションをとってみる。サンプルは下記のとおり。 環境によっては違ってくると思うけど、ほげおが利用しているロリポップでは下記のサンプルコードで動作します。 <サンプル> #!
このページを最初にブックマークしてみませんか?
『DOMAIN ERROR』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く