Vysílání z PHP do baňky

hlasů
0

zadejte

Mám php aplikace, která sloupky variabilní informací na baňce aplikace (což dělá některé výpočty a vrátí výsledek). Běžím jak lokálně na win7

Při testování url „127.0.0.1:5000/index“ pomocí příspěvek s poštovního doručovatele, získám kód 200 stavu (obrázek). Nicméně když php aplikací příspěvky do baňky app I získat:

The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

Já používám lokny, a upovídaný výstup je:

* 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

Můj PHP kód vypadá takto:

   $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;
}

Zjednodušený 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()

Co dělám špatně?

Položena 26/06/2015 v 13:43
uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Máte koncové lomítko v $urlproměnné v PHP kódu. To nebude fungovat, protože nemáte koncové lomítko ve svém Flask kódu. Podívejte se sem pro více informací v sekci „Jedinečné adresy / přesměrování chování“

Odpovězeno 27/06/2015 v 10:47
zdroj uživatelem

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