Έχω μια εφαρμογή php το οποίο δημοσιεύσεις μεταβλητή πληροφορίες σε εφαρμογή φιάλη (που κάνει μερικούς υπολογισμούς και επιστρέφει ένα αποτέλεσμα). Τρέχω τόσο σε τοπικό επίπεδο για win7
Όταν δοκιμάσετε το url «127.0.0.1:5000/index» χρησιμοποιώντας μια ανάρτηση με ταχυδρόμο, να πάρω έναν κωδικό 200 κατάστασης (screenshot). Ωστόσο, όταν οι θέσεις php εφαρμογή στην εφαρμογή φιάλη παίρνω:
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
Είμαι χρησιμοποιώντας CURL, και η φλύαρη έξοδος είναι:
* 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
Μου κώδικα php μοιάζει με:
$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;
}
Απλοποιημένη Φιάλη εφαρμογή:
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()
Τι κάνω λάθος?