1、PHP
・作成場所に移動
cd /Library/WebServer/Documents
・ファイル作成
sudo vim index.php
// 受け取った内容をそのまま返す
<?php
$name = $_POST["name"];
echo $name;
?>
・実行権限付与
sudo chmod 705 index.php
・単体で実行
php index.php
2、Apache
・php実行を許可
cd /etc/apache2/
sudo vim httpd.conf
/phpで検索して、該当行の先頭#を削除する
・Apache再起動
sudo apachectl restart
これでブラウザから実行可能
http://localhost/index.php
3、iOSアプリ
・送信
NSError *error = nil;
// !!!: Content-Type:は自動的に設定されるのか?
// !!!: Content-Length:は自動的に設定されるのか?
NSString* boundary = BOUNDARY;
// postデータの作成
NSMutableData* data = [NSMutableData data];
NSData *json = [NSJSONSerialization dataWithJSONObject:@{@"status":@"OK"} options:NSJSONWritingPrettyPrinted error:&error];
LOG_MESSAGE(@"json %@", [[NSString alloc] initWithData:json encoding:NSUTF8StringEncoding] );
[data appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[data appendData:[@"Content-Disposition: form-data; name=\"name\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[data appendData:[@"Content-Type: application/json; charset=UTF-8\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[data appendData:[@"Content-Transfer-Encoding: 8bit\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[data appendData:json];
// [data appendData:[@"George" dataUsingEncoding:NSUTF8StringEncoding]];
[data appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
//
・送信結果受信
NSURLSession* session = [NSURLSession sessionWithConfiguration:config
delegate:self
delegateQueue:[NSOperationQueue mainQueue]];
self.task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error){
dispatch_async(dispatch_get_main_queue(), ^{
NSHTTPURLResponse *httpURLResponse = (NSHTTPURLResponse *)response;
LOG_MESSAGE(@"data:%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
LOG_MESSAGE(@"NSHTTPURLResponse:%@",httpURLResponse);
LOG_MESSAGE(@"error:%@",error);
NSError *jsonError = nil;
NSDictionary *returnedDict = nil;
if (data) {
returnedDict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];
LOG_MESSAGE(@"returnedDict:%@",returnedDict);
}
// ステータスコードを確認してみます.
NSInteger statusCode = [httpURLResponse statusCode];
NSLog(@"[statusCode] %ld", (long)statusCode);
[session invalidateAndCancel];
});
}];
[self.task resume];