Buenas,
Cómo hay que enviar el signo + por POST a través de CURL. Llegan espacios en banco en su lugar.
He probado con urlencode, y sustituyéndolo por %2B pero no esas no son las soluciones.
Gracias.
| |||
Respuesta: Enviar signo + por POST en CURL Muestra como lo haces... esta dentro de una cadena?
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. |
| ||||
Respuesta: Enviar signo + por POST en CURL Código PHP: |
| |||
Respuesta: Enviar signo + por POST en CURL La sintaxis es "+" no es "&"?... podrias usar "&" y substituirla una vez llegan... campo=loquesea+campo2=loquesea... campo=loquesea&campo2=loquesea... O forma parte del valor del campo?
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. |
| ||||
Respuesta: Enviar signo + por POST en CURL No no, los datos se concatenan con & y el + forma parte del valor del campo. De todos modos he seguido haciendo pruebas y los responsables del servidor al que realizo las consultas me dicen que tengo que sustuirlo por %2B, pero ya les he dicho que parece que no funciona bien con ellos y estoy esperando respuesta. He probado a enviarles los datos como "multipart/form-data" pero no lo aceptan, hay que enviarles si o si como " application/x-www-form-urlencoded" |
| |||
Respuesta: Enviar signo + por POST en CURL curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode("campo=loquesea+")); y esto no va.... o $var=urlencode("campo=loquesea+"); curl_setopt($ch, CURLOPT_POSTFIELDS, $var);
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. |
| ||||
Respuesta: Enviar signo + por POST en CURL Porque no le pasas un array directamente y dejas que curl se encargue del encoding ?
Código PHP:
Ver original |
| |||
Respuesta: Enviar signo + por POST en CURL Un post del manual de php Cita: urlencode function and rawurlencode are mostly based on RFC 1738. However, since 2005 the current RFC in use for URIs standard is RFC 3986. Here is a function to encode URLs according to RFC 3986. <?php function myUrlEncode($string) { $entities = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D'); $replacements = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]"); return str_replace($entities, $replacements, urlencode($string)); } ?>
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. |
| ||||
Respuesta: Enviar signo + por POST en CURL Me acanban de decir que envíe %2B en lugar de +, que es lo que hace urlencode. Por lo visto el campo dónde probaba probaba esto mismo no admitía el + por eso fallaba. Mala documentación la que tienen. Gracias. |
| ||||
Respuesta: Enviar signo + por POST en CURL Cita: Pasándolo así el servidor me respondía con un código 500 y "An unexpected error has occurred"
Iniciado por masterpuppet Porque no le pasas un array directamente y dejas que curl se encargue del encoding ?
Código PHP:
Ver original |
Etiquetas: |