お世話になってます。お助け下さい。
今、phpよりheroku上のAPIにRequestを送り、正常なら0を返信するAPI(Python)を作成したい
と考えています。
しかし、うまく以下のコードで0が戻らず困っております。
お分かりの方居られましたら、ご教示お願いできないでしょうか?
●php(Request(送る側))
$ch = curl_init(); $url = 'https://aaaaaaaaaaaaaaaaa.herokuapp.com/coupon/?coupon_code=001&email='.$mail.'&password='.$password.'&sendmail_add='.$to_mail; $post_data = []; curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_URL => $url, CURLOPT_CUSTOMREQUEST => "GET", //CURLOPT_CUSTOMREQUEST => "POST", //CURLOPT_POST => true, CURLOPT_POSTFIELDS => $post_data, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_TIMEOUT => 120, // CURLOPT_SSL_VERIFYPEER => false, // CURLOPT_SSL_VERIFYHOST => false ]); $data = curl_exec($ch); if ($data === false) { throw new \Exception(curl_error($ch)); } $json = json_decode($data); if ($json->message !== '0') { throw new \Exception('Invalid JSON response.'); } curl_close($ch); $my_message='登録完了'; header('Content-type: text/plain'); echo $my_message;
●Python(返信側)
PythonA.py(パターン1)
from django.shortcuts import render from django.http import HttpResponse import json def coupon(request): if 'coupon_code' in request.GET: ①coupon_code = request.GET['coupon_code'] ②mail = request.GET['email'] ③pass = request.GET['password'] ④sendmail = request.GET['sendmail_add'] if coupon_code == '001': message = '0' elif coupon_code == '002': message = '-1' else: message = '1' params = { 'message':message, } json_str=json.dumps( params, ensure_ascii=False, indent=2) return HttpResponse(json_str)
●起こった事象
PythonA.py(パターン2)
from django.shortcuts import render from django.http import HttpResponse import json def coupon(request): if 'coupon_code' in request.GET: coupon_code = request.GET['coupon_code'] if coupon_code == '001': message = '0' elif coupon_code == '002': message = '-1' else: message = '1' params = { 'message':message, } json_str=json.dumps( params, ensure_ascii=False, indent=2) return HttpResponse(json_str)
パターン2については、問題なく message = '0' を返信。
パターン1中で②~④を付属させると'0'以外('1')が返りエラーになります。
②~④が原因である可能性が高いですが、どのような記述にすべきかがわりません。
以上、よろしくお願いいたします。