Ich habe eine PHP-Anwendung in einem Kolben-App, die Beiträge variable info (die einige Berechnungen tut und gibt ein Ergebnis zurück). Ich laufe sowohl lokal auf win7
Wenn ich die URL „127.0.0.1:5000/index“ teste einen Beitrag mit Postbote verwenden, bekomme ich einen 200-Statuscode (Screenshot). Allerdings, wenn die PHP-App Beiträge in den Kolben App erhalte ich:
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
Ich bin mit CURL und die ausführliche Ausgabe ist:
* About to connect() to 127.0.0.1 port 5000 (#0)
* Trying 127.0.0.1...
* connected
* Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0)
> POST /index/ HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Host: 127.0.0.1:5000
Accept: */*
Content-Length: 338
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------d5cb02e2edea
< HTTP/1.1 100 Continue
* HTTP 1.0, assume close after body
< HTTP/1.0 404 NOT FOUND
< Content-Type: text/html
< Content-Length: 233
< Server: Werkzeug/0.10.4 Python/2.7.5
Mein PHP-Code wie folgt aussieht:
$data= array('a'=>$a, 'token'=>$token);
$url=http://127.0.0.1:5000/index/;
$output = $this->my_model->get_data($url, $data);
public function get_data($url,$postFieldArray=FALSE) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0));
if ($postFieldArray!= FALSE) {
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFieldArray); //for django
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR, $verbose);
curl_setopt($ch, CURLOPT_URL, $url);
$html = curl_exec($ch);
curl_close($ch);
.......
return $result;
}
Vereinfachte Flask App:
app = Flask(__name__)
app.debug = True
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/index',methods=['POST'])
def index():
token = request.form['token']
a = request.form['a']
......
return
if __name__ == '__main__':
app.run()
Was mache ich falsch?