*

アプリからFormDataを送信する

公開日: : iOS

HTMLのformタグを使うとHTTPリクエストにkey=valueの形式で任意のデータを付加して送信することができます。
今回は、これと同じことをプログラムから実行する方法についてです。

POSTとGET

HTTPリクエストはGETとPOSTの2種類があります。
FormDataの送信はどちらでも可能です。
一般的に条件やキーワードを指定してデータを取得する場合にはGETを使い、メッセージや画像などのデータを投稿する場合にPOSTを使うようです。
GETはURLにデータ(Query String Parameters)を付加してして送信するのでブックマークして使うことも可能です。
POSTで行なう場合はHTTP-BODYにForm Dataを含めます。

次のデータを送信する場合のHTTPRequestのサンプルです。

  • key1 = value1
  • key2 = value2

まずGETの場合

Request URL:http://your.domain/your.pl?key1=value1&key2=value2
//RequestHeader
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:ja,en;q=0.8,en-US;q=0.6
Connection:keep-alive
....
User-Agent:...

POSTの場合

Request URL:http://your.domain/your.pl
//Request Header
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:ja,en;q=0.8,en-US;q=0.6
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:23
Content-Type:application/x-www-form-urlencoded
...

key1=value1&key2=value2

サンプルコード

上記の例をアプリから送信するサンプルコードです。

ここで注意が必要なのはkeyやvalueに’&’や’=’、’?’などの文字が含まれていると、
区切り文字と勘違いしてしまい意図した内容が送信できなくなります。
そこで送信する前にこれらの文字をパーセントエンコーディングで変換しておきます。

パーセントエンコーディング(URLエンコーディング)

パーセントエンコーディングの詳細は
こちら(wiki)

変換するコードはこんな感じです。

Sola

Sponsored Link

関連記事

gles1.png

OpenGLES 1.1でテクスチャ表示

最近、OpenGLESベースのゲームエンジンであるcocos2dでゲームを作りはじめました(画像

記事を読む

cocos2d-xのSupporting IPv6-only Networks対応

2016年6月1日より、AppStoreに更新されるすべてのアプリは、IPv6-only netwo

記事を読む

badge.png

iOSでバックグラウンドタスク(BackgroundTask)

iOSでは何もしなければアプリケーションがバックグラウンドに移行するとすぐにRunLoopやワ

記事を読む

internet_share.png

インターネット共有のステータスバーを表示させない

私の作っているアプリではcocos2d-xでCCEAGLViewを表示させるUIViewCo

記事を読む

IMG_2206.JPG

【イーモン】プロモーションムービー

デザフェスで使ったプロモーションムービーです! 当日は、AppleTVをつかってiP

記事を読む

monster_kolion.png

【イーモン】11月8日デザフェス出展!

デザインフェスタに出展します! デザフェス出展者ページ 英語学習アプリ【イーモン】のキャラ

記事を読む

kii1.png

Kii Cloudオブジェクトエディタ

現在作成しているゲームで使うMBaasとしてKii Cloudを検討しています。 和製のMBa

記事を読む

teach_s.png

English Monsters1.0がAppStoreの審査通過

English Monsterが遂にAppStoreで公開されました。 一度AppStor

記事を読む

products-ico5.png

cocos2d-x v2.2からv3.3への移行

最近、イーモンの更新でiTunesにバイナリをアップロードしたら、 2015年2月から64

記事を読む

tmp.png

最近のAppStore審査【iOS8】

紹介動画でリジェクト!?(App Preview) AppStoreのアプリ紹介にに機能や

記事を読む

Sponsored Link

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Sponsored Link

  • 発音辞書イーモン
  • English Monsters
  • sLog(時間管理アプリ)
  • 生粋のC++プログラマーです。 最近は、Objective-Cやxcode、cocos2d-xなどを学びながらiPhoneアプリを開発しています。

Google+ Google
PAGE TOP ↑