Muitas pessoas devem ter usado o OICQ e também devem ter usado suas mensagens de texto da máquina BP e mensagens de texto do telefone celular. Os amigos da programação devem querer realizar esta função.
Seria legal se o seu programa pudesse ser enviado para telefones celulares e máquinas BP.
Agora vou apresentar um método possível.
1. Princípio
É diferente da função de paging do OICQ, onde ambas as partes podem se comunicar apenas quando estão online. Ele pode enviar mensagens de texto para pagers reais. Contanto que você tenha acesso à Internet, você pode fazer isso sozinho e enviar informações a qualquer hora e em qualquer lugar. Mesmo se estiver no exterior, você pode usá-la para enviar informações a amigos na China e não precisa pagar muito tempo internacional. tarifas de distância. Não é conveniente e descomplicado!
2. Análise
Hoje em dia, todas as estações de paging na Internet possuem serviços online, e a paging na web é comumente usada. Isso é feito acessando a página inicial da estação de paging na Internet e, em seguida, paginando pelo sistema de paging de informações da estação de paging. Portanto, só precisamos usar o protocolo HTTP para implementar a paginação de rede. A seguir está uma breve introdução ao protocolo HTTP:
A conclusão de uma sessão em HTTP geralmente requer: 1) O programa cliente estabelece uma conexão com o servidor 2) Envia uma solicitação 3) O servidor responde ao cliente 4) Fecha a conexão
As solicitações HTTP comumente usadas são: 1) GET (solicitando uma página da web) 2) HEAD (lendo o cabeçalho de uma página da web) 3) PUT (solicitando uma página da web armazenada) 4) POST (anexando um recurso nomeado) 5 )DELETE ( Excluir a World Wide Web) 6)LINK (Conectar dois recursos existentes) 7)UNLINK (Desconectar dois recursos existentes)
Os códigos de status de resposta comumente usados em HTTP são: (* representa um número entre 0-9) 1. 1** (informação) 2. 2** (sucesso) 3,4** (erro do cliente) 4,5**(erro do servidor)
Na verdade, o programa que queremos implementar utiliza apenas solicitações POST e GET e recebe respostas normais. POST pode ser usado para passar os dados inseridos pelo usuário para o programa CGI na forma de um fluxo de dados. O CGI usa a variável de ambiente Contact-Length para obter as informações do fluxo de dados do comprimento correspondente.
O formato da solicitação POST é o seguinte:
POSTAR http://www2.scuta.edu.cn/stu/chatroom/check.asp HTTP/1.0
Aceitar: imagem/gif, imagem/x-xbitmap, imagem/jpeg, imagem/pjpeg, aplicativo/vnd.ms-Powerpoint, aplicativo/vnd.ms-Excel, aplicativo/msWord, */*
Referente: http://www2.scuta.edu.cn/stu/
Idioma de aceitação: zh-cn
Tipo de conteúdo: aplicativo/x-www-form-urlencoded
Conexão PRoxy: Keep-Alive
Agente do usuário: Mozilla/4.0 (compatível; MSIE 5.5; Windows 98)
Anfitrião: www2.scuta.edu.cn
Comprimento do conteúdo: 87
Pragma: sem cache
Cookie: ASPsessionIDQGGGQHHE=ABGNNOJCIGOFCDLBIOLHKAFK
A estrutura do cabeçalho da resposta normal do servidor é:
200 OK HTTP/1.0 indica que o envio de dados foi bem-sucedido
3. Implementação do programa
NMHTTP em Delphi pode implementar facilmente o envio de dados mencionado acima, e também suporta Proxy, que também é aplicável ao acesso à Internet através de servidores proxy, e não é o proxy SOCKET5 usado para enviar mensagens no OICQ.
Crie um novo formulário e adicione um componente ComboBox, chamado callto, para armazenar objetos de paginação. Por exemplo, a paginação Guosen tem 95908, 94908, 94909, 98062, 98063, 98019, 98035, 98052, 98038, 99055, 98060, 98061, 98051, 98003, 99062, 99016, 99017, 99018, 99019, 99046, 99076; adicione o componente Edit e nomeie-o como número, que representa o número da paginação, adicione o componente RadioGroup e nomeie-o como RadioGroup1, defina Caption como o tipo de pager e adicione dois itens ao pager; itens, cada um em máquina chinesa, Máquina digital; Adicionar componente Edit, denominado firstName, utilizado para indicar o sobrenome da pessoa que enviou a página; Adicionar componente RadioGroup, denominado RadioGroup2, Caption é definido para o gênero do pager, adicionar dois itens aos itens, ou seja, Sr. e Miss; Add O componente Memo, denominado callmsg, é utilizado para inserir as informações enviadas ( Nota: Para máquinas digitais, só pode ser informação digital); adicione o componente NMHTTP, denominado NMHTTP1; adicione Checkbox, denominado ifuseproxy, para determinar se deve usar um servidor proxy, adicione dois componentes de edição, respectivamente para o endereço do servidor proxy de software, porta do servidor proxy; finalmente adicione um botão de comando e defina a legenda como "Enviar".
Agora tome a paginação Guosen como exemplo. Ela pode ser implementada usando a solicitação GET. O código do programa do botão "Enviar" é o seguinte:
procedimento TForm1.Button1Click(Remetente: TObject);
var callstr:string;
começar callstr:='http://tips.gxspace.com/cgi-bin/tips/webpaging?stn_id='+callto.Text+'&page_no='+tonumber.Text;
caso RadioGroup1.ItemIndex de
0:callstr:=callstr+'&pager_type=C';
1:callstr:=callstr+'&pager_type=N';
fim;
callstr:=callstr+'&firstname='+firstname.text;
caso RadioGroup2.ItemIndex de
0:callstr:=callstr+'&title=0';
1:callstr:=callstr+'&title=1';
fim;
callstr:=callstr+'&msg='+callmsg.Text+'&answer=null&B1=Enviar paginação';
NMHTTP1.InputFileMode := FALSO;
NMHTTP1.OutputFileMode := FALSO;
NMHTTP1.ReportLevel := Status_Basic;
Se ifuseproxy.Checked então
Começar
NMHTTP1.Proxy := Edit1.Text;
NMHTTP1.ProxyPort := StrToInt(Edit2.Text);
Fim;
NMHTTP1.Get(callstr);
fim;
Algumas paginações (como a paginação Runxun não podem ser implementadas com a solicitação GET acima, requer uma solicitação POST), o uso não é muito diferente do acima, por exemplo, o seguinte é o uso POST de NMHTTP:
NMHTTP1.InputFileMode:=Falso;
NMHTTP1.OutputFileMode:=Verdadeiro;
NMHTTP1.ReportLevel:=Status_Basic;
Se ifuseproxy.Checked então
Começar
NMHTTP1.Proxy := Edit1.Text;
NMHTTP1.ProxyPort := StrToInt(Edit2.Text);
Fim;
Com NMHTTP1.HeaderInfo faça
Começar
Biscoito := Edit5.Text;
LocalMailAddress := Edit6.Text;
LocalProgram := Edit7.Text;
Referente := Edit8.Text;
ID do usuário: = Edit9.Text;
Senha:= Edit10.Text;
Fim;
//Coloque primeiro os dados a serem enviados no arquivo test.txt: o formato é stnid=A&pageno=123456...
NMHTTP1.Post('http://www.wocall.com/script/zbwebcall.asp','test.txt');
//O uso específico do NMHTTP está instalado no Delphi. Atualmente, há um exemplo de uso do NMHTTP no BorlandDelphi5DemosFastNetHttp.
Todos os itens acima são implementados usando NMHTTP. Na verdade, o componente WebBrowser no Delphi também pode ser usado para enviar dados. O uso é assim: Webbrowser1.OleObject.Document.FrontPage_Form1.submit();
Nota: WebBrowser1 é o nome do componente WebBrowser, Frontpage_Form1 é o nome do formulário na página web aberta com WebBrowser
O formulário na página da web é assim:
<nome do FORM=FrontPage_Form1 action=http://message.com.cn/cgi-bin/ips/webpaging method=post>
...
</Formulário>
O método de implementação é usar um programa para gerar uma página da web com base nas informações de entrada do usuário, depois passar WebBrowser1.Navigate (página da web gerada) e, finalmente, enviá-la ao servidor Webbrowser1.OleObject.Document.FrontPage_Form1.submit(); é concluído quando a paginação