Trimite cerere HTTP de la 1s la site-ul

Obiectiv: Pentru a transfera date de la 1C la site-ul. Datele vor fi trimise la scriptul PHP prin solicitare HTTP invocat de 1C.

1C este necesară pentru a contacta un terț HTTP-serviciu (în acest exemplu, scris în PHP). Schimb cu site-ul, sa decis să facă prin trecerea unui șir de caractere în format JSON.

Site-ul a postat un script PHP care primește datele, le procesează și returnează rezultatul.

Opțiunea 1: Transfer cu un antet Content-Type: application / x-www-form-urlencoded.

Apoi, face o cerere POST la from1c.php script-ul și să treacă la parametrul «param» care conține datele noastre în format JSON.

În script-ul, pentru a obține aceste date, pur și simplu a scrie echo ($ _POST [ „param“]).

Dacă transferați date în format JSON, acestea pot fi imediat automat deserializati și a obține nomalno structura. Deserializati posibil prin funcția json_decode (($ _POST [ 'param'])

Vă rugăm să rețineți că trebuie să indice „IspolzovanieByteOrderMark.NeIspolzovat“, în caz contrar vor exista probleme pe partea laterală a site-ului, cu detalii ale unui șir JSON.

Această opțiune este bună, dar aici este nevoie de un șir JSON pre-codată. deoarece poate fi caractere speciale (=, etc.). De fapt, puteți codifica un rând întreg, ca în exemplul de mai sus KodirovatStroku (StrokaJSON, SposobKodirovaniyaStroki.KodirovkaURL), dar numai anumiți parametri pot fi codificate (singurele unde pot fi simbolurile).

Opțiunea 2: Transferul cu un antet Content-Type: application / json.

În acest exemplu de realizare, linia precode nu este necesară.

Primirea de date de pe partea laterală a site-ului, pur și simplu prin echo ($ _ [ „comanda“] POST) eșuează. Trebuie să utilizați file_get_contents echo ( 'php: // input')

Asta e tot.

De exemplu, prelucrarea atașat în care structura este serializate în JSON și transmiterea către serverul de cele două exemple de realizare.