#php #curl #sms
#php #curl #sms
Вопрос:
я должен отправить параметры с помощью get на URL.
Это sms-шлюз, и я должен передавать информацию по sms.
$url = 'http://host:port/send?user=useramp;from=fromamp;to=to1 to2 to3 ........ to1000 text=smstext';
где to1, to2 … to1000 — номера телефонов получателей.
Итак, я использую curl для выполнения задания.
Проблема в том, что из-за большой длины моих параметров, когда у меня много получателей, URL, который я вызываю, огромен, и я получаю ошибку за превышение максимальной длины URL.
Я мог бы разделить получателей на меньшие пакеты и вызывать curl для каждого пакета, но я не думаю, что это лучшее решение.
Кроме того, такой большой URL заставляет меня чувствовать, что что-то делается не так правильно, как могло бы.
У вас есть идея по этому поводу?
P.S: Использование post вместо get — это не вариант.
Комментарии:
1. Я не думаю, что sms-шлюзу понадобилось бы несколько вызовов
Ответ №1:
P.S: Использование post вместо get — это не вариант.
Если вызов завершается неудачей из-за того, что URL слишком длинный, использование POST действительно является единственным доступным вариантом.
В качестве альтернативы, как вы говорите, вам придется разделить все это на несколько вызовов.
Хотя это звучит как ошибка проектирования со стороны шлюза. Вы на 100% уверены, что они не поддерживают запросы POST? Это был бы самый чистый способ добиться этого.
Комментарии:
1. Да, я уверен. Нет опции post.
2. @Tania тогда я бы спросил их, как они ожидают, что вы укажете сотни или тысячи отправителей. Если это не сделано специально, это довольно глупая ошибка дизайна с их стороны.