Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с FedEx службаой, Нужно получить стоимость пересылки от Fe 
:(
    Опции темы
paul ryazanov
Дата 20.11.2002, 02:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.11.2002

Репутация: нет
Всего: нет



Мне нужно заполнять форму в соответствии с требованиями по доставке:
страна для доставки, сроки доставки ... пересылать на FedEx и возвращать сумму в $, за которую FedEx это сделает и показывать оную клиенту.

Проблема:
искал скрипт для данного задания по пересылке и возврату данных FedEx на Google, но там ссылки на старые скрипты, которые не работают. Причина в том, что скрипт на которые посылают данные в FedEx указан не верно и пишет, что страница не найдена.

Буду признателен за помощь, может у кого есть "свежий" скрипт для данной задачи, хотя даже обычная ссылка на скрипт-обработчик таких запросов на FedEx очень поможет (сам раздолбаю далее)
Заранее спасибо
PM MAIL   Вверх
Cepera
Дата 20.11.2002, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



одно уточнениние - что есть FedEx?


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
paul ryazanov
Дата 20.11.2002, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.11.2002

Репутация: нет
Всего: нет



Цитата(Cepera @ 20.11.2002, 07:56)
одно уточнениние - что есть FedEx?

FedEx - служба почтовой рассылки.
На сайт с web магазином заходит клиент и выбирает товар. После наполнения корзины покупателя и подсчета общей суммы за товар мы получаем общую стоимость товара.
Теперь мы должны узнать сколько будет стоить доставка товара клиенту, для этого и нужен FedEd (http://www.fedex.com). Заполняем форму и пересылаем службе FedEd данные - страна в которую надо доставить и сроки доставки.
FedEx возвращая сумму за которую она осуществит пересылку.
Эта возвращенная сумма плюсуется к стоимости товара, что и составляет конечную цену.
Пример: http://www.newegg.com
PM MAIL   Вверх
Cepera
Дата 20.11.2002, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



ну скрипт-форма прост:
Код
<?
if (!empty($action) && ($action == "true")) {
твоя_функция_по_добавлению_в_FedEx($country,$terms);
}
else {
?>
<form action="<?=$PHP_SELF?>" method="post">
<input type="hidden" name="action" value="true">
Страна для доставки: <input type="text" name="country"><br>
Сроки доставки: <input type="text" name="terms"><br>
<input type="submit">
</form>
<? } ?>



--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
paul ryazanov
Дата 20.11.2002, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.11.2002

Репутация: нет
Всего: нет



Цитата(Cepera @ 20.11.2002, 12:05)
ну скрипт-форма прост:
Код
<?
if (!empty($action) && ($action == "true")) {
твоя_функция_по_добавлению_в_FedEx($country,$terms);
}
else {
?>
<form action="<?=$PHP_SELF?>" method="post">
<input type="hidden" name="action" value="true">
Страна для доставки: <input type="text" name="country"><br>
Сроки доставки: <input type="text" name="terms"><br>
<input type="submit">
</form>
<? } ?>

Конечно, спасибо...
Но меня интересует как раз тот момент, который ты написал:

твоя_функция_по_добавлению_в_FedEx(...) - это как раз и есть моя проблема.
собственно как передать и как возвратить данные со скрипта на FedEx я знаю,
но мне нужен линк на скрипт, например, www.fedex.com.cgi-bin/rate.php?{ а тут я вставлю свои параметры}. Вообщем что-то вроде автосабмита, только с возвратом числового результата

P. S.
А передавать данные с формы в скрипт я уже да-а-а-а-а-а-вно научился.
Проблема, сам знаю не простая, задал вопрос в ненашенские форумы,
но там пока нет ответов.
PM MAIL   Вверх
Cepera
Дата 20.11.2002, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



Цитата(paul @ 20.11.2002, 16:17)
Цитата(Cepera @ 20.11.2002, )
ну скрипт-форма прост:
Код
<?
if (!empty($action) && ($action == "true")) {
твоя_функция_по_добавлению_в_FedEx($country,$terms);
}
else {
?>
<form action="<?=$PHP_SELF?>" method="post">
<input type="hidden" name="action" value="true">
Страна для доставки: <input type="text" name="country"><br>
Сроки доставки: <input type="text" name="terms"><br>
<input type="submit">
</form>
<? } ?>

Конечно, спасибо...
Но меня интересует как раз тот момент, который ты написал:

твоя_функция_по_добавлению_в_FedEx(...) - это как раз и есть моя проблема.
собственно как передать и как возвратить данные со скрипта на FedEx я знаю,
но мне нужен линк на скрипт, например, www.fedex.com.cgi-bin/rate.php?{ а тут я вставлю свои параметры}. Вообщем что-то вроде автосабмита, только с возвратом числового результата

P. S.
А передавать данные с формы в скрипт я уже да-а-а-а-а-а-вно научился.
Проблема, сам знаю не простая, задал вопрос в ненашенские форумы,
но там пока нет ответов.

хорошо, напиши-ка структуру бд у FedEx'a :-)


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
paul ryazanov
Дата 20.11.2002, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.11.2002

Репутация: нет
Всего: нет



Цитата(Cepera @ 20.11.2002, 12:27)
Цитата(paul @ 20.11.2002, 16:17)
[quote=Cepera,20.11.2002,12<!--emo&:0]ну скрипт-форма прост:
Код
<?
if (!empty($action) && ($action == "true")) {
твоя_функция_по_добавлению_в_FedEx($country,$terms);
}
else {
?>
<form action="<?=$PHP_SELF?>" method="post">
<input type="hidden" name="action" value="true">
Страна для доставки: <input type="text" name="country"><br>
Сроки доставки: <input type="text" name="terms"><br>
<input type="submit">
</form>
<? } ?>

Конечно, спасибо...
Но меня интересует как раз тот момент, который ты написал:

твоя_функция_по_добавлению_в_FedEx(...) - это как раз и есть моя проблема.
собственно как передать и как возвратить данные со скрипта на FedEx я знаю,
но мне нужен линк на скрипт, например, www.fedex.com.cgi-bin/rate.php?{ а тут я вставлю свои параметры}. Вообщем что-то вроде автосабмита, только с возвратом числового результата

P. S.
А передавать данные с формы в скрипт я уже да-а-а-а-а-а-вно научился.
Проблема, сам знаю не простая, задал вопрос в ненашенские форумы,
но там пока нет ответов.[/quote]
хорошо, напиши-ка структуру бд у FedEx'a :-)

Сереж, я знаю структуры БД у FedEx - это ведь серьезная контора,
не знаю даже где это узнать - у них на сайте я не нашел не одного слова.
Оставил вопрос у них в службе технической поддержки, но ответа нет...

Если тебя заинтересовала задачка посмотри пример
http://www.newegg.com - это магазин, там добавь себе в корзину чего-нибудь
Внизу при подсчете увидишь два combobox и кнопку. При нажатии на нее увидишь как получаются суммы. Это же собственно нужно и мне, однако
1) скрипт написан на asp, а мне надо на рнр
2) код скрипта я не могу узнать, ведь View Sorce показывает готовый    результат html.

Что бы расставить все точки над i выложу старый скрипт для данной операции:

Код

function getFEDEXPrice ($shipType,$sendZipcode,$recieveZipcode,$recieveCountry,$weight) {

// FPO - Fedex Priority Overnight - $price1
// FSO - Fedex Standard Overnight - $price2
// F2D - Fedex 2-Day Standard - $price3
// FES - Fedex Express Saver - $price4
// FFO - Fedex First Overnight - $price5
// FGD - Fedex Ground - $gndprice

if($shipType != "FGD") {
$tmp = "jsp_name=index&orig_country=US&language=english&portal=plain&account=&heavy_weight=NO&packet_zip=&hold_packaging=&orig_zip=$sendZipcode&dest_zip=$recieveZipcode&dest_country_val=U.S.A.&company_type=Express&packaging=1&weight=$weight&weight_units=lbs&dim_units=in&dim_length=&dim_width=&dim_height=&dropoff_type=4&submit_button=Get+Rate\n\n\n\n";
$request = "POST /servlet/RateFinderServlet HTTP/1.1\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*\nReferer: http://rate.dmz.fedex.com/servlet/RateFinderServlet\nAccept-Language: en-us\nContent-Type: application/x-www-form-urlencoded\nAccept-Encoding: gzip, deflate\nUser-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)\nHost: rate.dmz.fedex.com\nContent-Length: ".strlen($tmp)."\nConnection: Keep-Alive\nCache-Control: no-cache\n\n" .$tmp;

$socket = fsockopen("rate.dmz.fedex.com", 80);

fputs($socket, $request);

while ($out = fread ($socket, 2048))
$iBuffer .= $out;

$preprice = addcslashes("</TD><TD BGCOLOR=\"", "\^.$|()[]*+?{}") . ".*". addcslashes("\" ALIGN=right class='resultstable'>", "\^.$|()[]*+?{}");
$postprice = addcslashes("</TD><TD>&nbsp;</TD><TD></TD><TD></TD></TR>", "\^.$|()[]*+?{}");
$price_match = '([0-9]+\.[0-9]+)';

$regexp = $preprice . $price_match . $postprice .".*".$preprice . $price_match . $postprice .".*". $preprice . $price_match . $postprice . ".*". $preprice . $price_match . $postprice  .".*".  $preprice . $price_match . $postprice;
ereg($regexp, $iBuffer, $regs);
list(,$FPO_fedex, $FSO_fedex, $F2D_fedex, $FES_fedex,$FFO_fedex) = $regs;

switch($shipType) {
case 'FPO':
return($FPO_fedex);
break;
case 'FSO':
return($FSO_fedex);
break;
case 'F2D':
return($F2D_fedex);
break;
case 'FES':
return($FES_fedex);
break;
case 'FFO':
return($FFO_fedex);
break;
}
} else {
$socket = fopen("http://grd.fedex.com/cgi-bin/rrr2010.exe?func=Rate&OriginZip=$sendZipcode&OriginCountryCode=US&DestZip=$recieveZipcode&DestCountryCode=US&Weight=$weight&WeightUnit=1&DimUnit=&Screen=Ground", "r");

while ($out = fread ($socket, 2048))
$iBuffer .= $out;

$regexp  = addcslashes("<!TotalCharges>", "\^.$|()[]*+?{}")."([0-9]+\.[0-9]+)".addcslashes("<!/TotalCharges>", "\^.$|()[]*+?{}");
ereg($regexp,$iBuffer,$regs);
list($gndprice) = $regs;

return($gndprice);
}
}


Как видишь идет обращение к http://rate.dmz.fedex.com/servlet/RateFinderServlet
http://grd.fedex.com/cgi-bin/rrr2010.exe?
Да это работало, пока служба FedEx не сменила на своей стороне скрипты обработчики. Это ведь не в их интересах - теряют же посетителей сайта, если мы умеем обращаться таким образом.
Так вот, мне нужен "свежий" скрипт, который обращается на FedEx куда надо,
или Link на скрипт обработчик со стороны FedEx.
P. S.
Может не все понятно, ведь задача специфическая, но все равно спасибо на том, что хоть кто-то читал: отослал на все форумы которые знал - никто не знает, даже заграничные программистыю
PM MAIL   Вверх
Cepera
Дата 21.11.2002, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



хм... я просмотрел твой код (занятный :p), проверил запросы идущие на сайт, но отклик, видимо, не тот, что задумывался...
ага, извиняюсь, после дочитал твой постинг до конца...
хм... ну тогда я не уверен, что задачку можно решить - я ведь не знаю структуру сервака...
другое дело, что если это настолько задело тебя, можно просто распарсить их ответы... то скриптом проходить по адресу и выдирать нужные куски :)

если интересно - напиши точный урл откуда дергать, посмотрим


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
Cepera
Дата 21.11.2002, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



то есть, покажи
1. страницу которая заполняется...
2. страница на которой будут нужные значения
3. что показать клиенту


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
paul ryazanov
Дата 21.11.2002, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.11.2002

Репутация: нет
Всего: нет



Цитата(Cepera @ 20.11.2002, 16:21)
то есть, покажи
1. страницу которая заполняется...
2. страница на которой будут нужные значения
3. что показать клиенту

Сереж, если бы я сам знал URL я бы сам сделал, но как я писал ранее я не знаю URL (правда писал link) к скрипту-обработчику на FedEx.

Что касается
1. страницу которая заполняется...  - скрипт ты полность привел сам (см. выше, только вместо твоя_функция_FedEx - тот скрипт, что писал я)
2. страница на которой будут нужные значения  - таже страница которая заполняется
3. что показать клиенту - переменную возвращенную функцией (тот скрипт, что писал я)
PM MAIL   Вверх
Cepera
Дата 21.11.2002, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



ну не зная урла имхо не реализовать


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
paul ryazanov
Дата 21.11.2002, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.11.2002

Репутация: нет
Всего: нет



Цитата(Cepera @ 21.11.2002, 11:04)
ну не зная урла имхо не реализовать

Вот я и прошу помощи.
Я не хочу, чтобы Вы написали скрипт
Вы помогите найти URL , а  скрипт я сам напишу.
Может кто-то кто делал недавно интернет-магазин, столкнулся с такой проблемой и нашел ответ дайте ссылку на URL
PM MAIL   Вверх
Cepera
Дата 22.11.2002, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: 1
Всего: 7



что ж - жди ответа других участников форума :)


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.