現在、swiftを用いてiOSとサーバ間でHTTP通信をしたいと思っているのですが、よくわからないので教えてください。
HTTP通信にはAlamofireを用いようと思っています。
クライアント側で
Alamofire.request(.POST, "http://(省略)", parameters:["bar":"bar"])
を実行し、
サーバ側ではPHPで出力し動作確認をしたいと思っているのですが、どう書けばいいのかよくわかりません。
宜しくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
ATSをinfo.plistを編集し、無効にしてHTTPSではなくHTTPで通信を行おうと思っていたのですがこれがいけなかったのでしょうか?
File.plistとATSに関して(18725)|teratail
設定に間違いがなければ、問題はそこではないでしょうね。
簡単なテストを書いてみました。
php
1<?php 2// エラー出力設定 3ini_set('display_errors', 1); 4ini_set('error_reporting', E_ALL); 5 6// POSTデータ取得 7$entityBody = file_get_contents('php://input'); 8 9// 変数を吐き出す 10//var_dump($entityBody); 11 12// POSTデータをそのままレスポンスとして戻す 13header('Content-type: application/json'); 14echo $entityBody; 15?>
PHPが分からん、ウェブサーバが分からんという質問は新規採番してください。
swift
1import UIKit 2import Alamofire 3 4class ViewController: UIViewController { 5 6 override func viewDidLoad() { 7 super.viewDidLoad() 8 // Do any additional setup after loading the view, typically from a nib. 9 // managerを作成する 10 let manager = Alamofire.Manager.sharedInstance 11 12 // URLを設定する 13 let urlString = "https://xxx.com/post_test.php" 14 15 // JSONボディを作成する 16 let bodyParameters = [ 17 "bar": "bar" 18 ] 19 20 // エンコーディングを設定する 21 let encoding = Alamofire.ParameterEncoding.JSON 22 23 // HTTP Headersを追加する 24 manager.session.configuration.HTTPAdditionalHeaders = [ 25 "Content-Type":"application/json", 26 ] 27 28 // リクエストを作成し、通信を開始する 29 Alamofire.request(.POST, urlString, parameters: bodyParameters, encoding: encoding) 30 .validate(statusCode: 200..<300) 31 .responseJSON { json in 32 switch json.result { 33 // データを取り出す 34 case .Success(let value): 35 // print(json.request) 36 // print(json.response) 37 // print(json.data) 38 // print(json.result.value) 39 print(value) 40 // 失敗時エラー出力 41 case .Failure(let error): 42 print(error) 43 } 44 } 45 46 } 47 48 override func didReceiveMemoryWarning() { 49 super.didReceiveMemoryWarning() 50 // Dispose of any resources that can be recreated. 51 } 52 53} 54
以下の箇所はご自分の環境に置き換えてください。
swift
1// URLを設定する 2let urlString = "https://xxx.com/post_test.php"
以下のような出力があれば、成功です。
{ bar = bar; }
投稿2015/12/21 00:48
総合スコア1698
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/21 13:41