X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> php и GUID для виндового сервиса
MetSerp
MetSerp
Topic Starter сообщение 5.6.2014, 21:48; Ответить: MetSerp
Сообщение #1


Нужно интегрировать сайт и онлайн сервис написанный на .net.

Сервис ожидает от меня в запросе увидеть GUID нового пользователя (почему он не делает это сам - вопрос третий).

сейчас гуиды у меня генерируются вот такой функцией
[PHP]function getGUID(){
if (function_exists('com_create_guid')){
return com_create_guid();
}else{
mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
$charId = md5(uniqid(rand(), true));
$hyphen = chr(45);// "-"
$uuid =substr($charId, 0, 8).$hyphen
.substr($charId, 8, 4).$hyphen
.substr($charId,12, 4).$hyphen
.substr($charId,16, 4).$hyphen
.substr($charId,20,12);
return $uuid;
}
}[/PHP]
тоесть на виндовой машине я получаю православный guid и всё хорошо, но вот ручной вариант (который срабатывает на юникс серверах) не работает.
Сервис бросает ошибку :
{"code":null,"description":null,"httpStatusCode":400,"message":"Invalid format for GUID: ''"}

список guid которые передаются php и не принимаются им:
fdfdd17c-ef5d-43b8-e797-0b90759a516a
40de6654-5b49-480b-c745-76fb18677da1

на сервисе ошибка бросается из конструктора


что я не учитываю при ручной генерации гуида?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 5.6.2014, 22:20; Ответить: Den1xxx
Сообщение #2


(MetSerp @ 6.6.2014, 00:48) *
список guid которые передаются php и не принимаются им:
fdfdd17c-ef5d-43b8-e797-0b90759a516a
40de6654-5b49-480b-c745-76fb18677da1

Ну таки функция у Вас string возвращает, а куда потом оно запихивается и в какой транспорт — это вопрос.
Если на локалке работает, а на сервере нет — м.б. дело в:
1. Правах на файлы — часто упускают это при переносе с Винды на Никсы.
2. Адрес, куда передаются данные — случайно не 127.0.0.1?
3. Фаервол.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 6.6.2014, 14:23; Ответить: MetSerp
Сообщение #3


(Den1xxx @ 6.6.2014, 01:20) *
Ну таки функция у Вас string возвращает, а куда потом оно запихивается и в какой транспорт — это вопрос.

Передается http запросом через CURL предварительно десереализуясь в строку json

(Den1xxx @ 6.6.2014, 01:20) *
1. Правах на файлы — часто упускают это при переносе с Винды на Никсы.

файлы не переносятся, интеграторы пишут свои сайты сами.

(Den1xxx @ 6.6.2014, 01:20) *
2. Адрес, куда передаются данные — случайно не 127.0.0.1?

нет, апи в интернете

(Den1xxx @ 6.6.2014, 01:20) *
3. Фаервол.

сомнительно, он бы по идее не пропустил пакет например или еще как то попрепятствовал соединению, но сервер ответ возвращает и жалуется именно на то что не может вызвать new GUID() с переданным ему гуидом, так как передали ему (по его мнению) не гуид

уточнюсь, есть сервис доставки, он висит в интернет демонстрируя свое rest апи.
Есть клиенты которые покупают продукт и получают доступ к этому сервису.
Есть разработчики которые пишут сайты rклиентам для работы с этим сервисом.
т.е. человек заходит на сайт и заказывает допустим пицу, заказ идет на этот сервис, выясняется ближайшая к адресу клиента пицерия, на кухне повяляется заказ, повар делает заказ, отдает курьеру и курьер уже передает пицу клиенту. таков полон жизненный цикл.
Вот интеграция у сайтов которые хостятся на юниксовых машинах имеет эту проблему, на виндозных серверах такой проблемы не возникает ввиду встроенной функции создания гуида.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 6.6.2014, 16:49; Ответить: Den1xxx
Сообщение #4


(MetSerp @ 6.6.2014, 17:23) *
Вот интеграция у сайтов которые хостятся на юниксовых машинах имеет эту проблему, на виндозных серверах такой проблемы не возникает ввиду встроенной функции создания гуида.



MetSerp,
(MetSerp @ 6.6.2014, 00:48) *
Invalid format for GUID: ''"

Надо разобраться тогда, какой формат для гуид и какой Вы генерируете.
Я с этим не сталкивался, но подозреваю, что MS использует для генерации какие-то секреты, возможно генерируемые из конфигурации компьютера.
Наверное, на Вашем месте попытался бы подсмотреть сниффером заголовков — чем отличаются форматы визуально.

А так, уник можно через uniqid создать — стандартная функция.
Так не пробовали?
[PHP]$uid=md5(uniqid(rand(), true));[/PHP]

Если не прокатит — uuid класс попробовать

Ещё такое находил: http://stackoverflow.com/a/2040279
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 7.6.2014, 16:38; Ответить: Alcorn
Сообщение #5


(MetSerp @ 6.6.2014, 00:48) *
список guid которые передаются php и не принимаются им:
fdfdd17c-ef5d-43b8-e797-0b90759a516a
40de6654-5b49-480b-c745-76fb18677da1


[PHP]
Guid guid1 = new Guid("fdfdd17c-ef5d-43b8-e797-0b90759a516a");
Guid guid2 = new Guid("40de6654-5b49-480b-c745-76fb18677da1");
[/PHP]

Guid генерится и ошибок никаких в .net не получаю.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 9.6.2014, 9:47; Ответить: MetSerp
Сообщение #6


(Den1xxx @ 6.6.2014, 19:49) *
Я с этим не сталкивался, но подозреваю, что MS использует для генерации какие-то секреты, возможно генерируемые из конфигурации компьютера.

есть такое дело, но вроде как именно на валидность гуида они не влияют.

(Den1xxx @ 6.6.2014, 19:49) *
Ещё такое находил: http://stackoverflow.com/a/2040279

да, у меня ровно такая же реализация, но найденная в другом месте.

(Alcorn @ 7.6.2014, 19:38) *
Guid генерится и ошибок никаких в .net не получаю.

это хорошо, значит вероятно ошибка не с моей стороны, а со стороны апи.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 9.6.2014, 11:55; Ответить: Alcorn
Сообщение #7


У сервиса могут быть какие-нибудь самописные с их стороны ограничения на гуиды, но они по идее должны быть описаны в документации. Есть даже валидатор.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
13 Chekon 4078 18.4.2024, 11:48
автор: Chekon
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 689 17.4.2024, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2822 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
54 arendator 34838 15.4.2024, 15:16
автор: arendator
Горячая тема (нет новых ответов) ⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами!
83 AdsPower 24426 14.4.2024, 22:52
автор: AdsPower


 



RSS Текстовая версия Сейчас: 20.4.2024, 8:12
Дизайн