bom, utilizo esse code nos meus clientes de ecommerce, como te disse tem gambiarra. Bom, u entrei em contato com os correios e eles me falaram na época q eles tinham um sistema para quem era cadastrado, mas foi tão difícil encontrtrar esse code e fazer o cadastro que acabei montando esse "treco" ae e usando nos sites q havia necessidade
<?php if (!$submit) { ?>
<form action="cep.php"><table width="400" border="0" align="center" cellpadding="5" cellspacing="0">
<tr>
<td>Cep Origem </td>
<td><input name="cep_origem" type="text" id="cep_origem" size="8" maxlength="◘"></td>
</tr>
<tr>
<td>Cep Destino </td>
<td><input name="cep_destino" type="text" id="cep_destino" size="8" maxlength="8"></td>
</tr>
<tr>
<td>Peso</td>
<td><font face="verdana" size="2">até
<select name="peso" size="1" id="peso">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
</select>
Kg </font></td>
</tr>
<tr>
<td>Mão Própria ? </td>
<td><font face="verdana" size="2">
<select name="mao_propria" id="mao_propria">
<option value="s">Sim</option>
<option selected value="n">Não</option>
</select>
</font></td>
</tr>
<tr>
<td>Aviso de Recebimento </td>
<td><font face="verdana" size="2">
<select name="aviso" id="aviso">
<option value="S">Sim</option>
<option selected value="N">Não</option>
</select>
</font></td>
</tr>
<tr>
<td>Valor Declarado </td>
<td>R$
<input name="valor" type="text" id="valor"></td>
</tr>
<tr>
<td> </td>
<td><input name="submit" type="submit" id="submit" value="Submit"></td>
</tr>
</table>
</form>
<?php } else {
function calcula_frete_correios($cep_origem, $cep_destino, $peso, $mao_propria, $aviso, $valor) {
$conexao = fsockopen("
www.correios.com.br", 80, $errno, $errstr, 30);
if (!$conexao) {
echo "$errstr ($errno)<br />\n";
}
else {
$saida = "GET /encomendas/precos/calculo.cfm?servico=40010&CepOrigem=$cep_origem&CepDestino=$cep_destino&Peso=$peso&MaoPropria=$mao_propria&AvisoRecebimento=$aviso&valorDeclarado=$valor HTTP/1.1\r\n";
$saida .= "Host:
www.correios.com.br\r\n";
$saida .= "Connection: Close\r\n\r\n";
fwrite($conexao, $saida);
$resposta = "";
while (!feof($conexao)) {
$resposta .= fgets($conexao, 128);
}
fclose($conexao);
ereg ("&Tarifa=([0-9]+\.[0-9]+)", $resposta, $reg);
// essa aqui é a gambiarra dessa versão
if ($reg[1] == "") ereg ("&Tarifa=([0-9]+)", $resposta, $reg);
$resultado = $reg[1];
return $resultado;
}
}
// exemplo de uso!!!
echo calcula_frete_correios ($cep_origem, $cep_destino, $peso, $mao_propria, $aviso, $valor);
?>
<?php } ?>