Δημοσίευση από php σε Φιάλη

ψήφοι
0

εισάγετε

Έχω μια εφαρμογή 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()

Τι κάνω λάθος?

Δημοσιεύθηκε 26/06/2015 στις 13:43
χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
1

Έχετε έναν κάθετο στην $urlμεταβλητή στον κώδικα PHP. Αυτό δεν θα λειτουργήσει, επειδή δεν έχετε τελική κάθετο στον κώδικα Φιάλη σας. Δείτε εδώ για περισσότερες πληροφορίες, κάτω από την ενότητα «Μοναδικό URLs / ανακατεύθυνσης Συμπεριφορά»

Απαντήθηκε 27/06/2015 στις 10:47
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more