全网整合营销服务商

营销型网站+SEO优化+关键词快排=一站式服务

免费咨询热线:15959292472

[泰州seo公司方便久澳]开发微信服务器接口的实例教程

  因ERP系统需要与微信公众号做数据接口,现准备做一个中间服务器。
开发环境:XE10
使用控件:IdHTTPServer

因刚开发阶段,[泰州seo公司方便久澳]在路由路上直接做了测试机的80端口转发=○□,申请微信公众测试号后◁◁-★,凤城市小程序制作公司却一直配置失败。[连云港seo外包公司]微信小程序实现tab切换效果实例分享,跟踪发现是服务器无法收到微信发来的GET请求◆▽■△。鄂州市小程序制作公司代码如下:
 

  Delphi/Pascal code?

  unit Unit1○▲★;

  

interface
uses
 Winapi.Windows•▼, Winapi△….Messages…=▪, System-◇□▲.SysUtils▲●▼, System.Variants, System.Classes, Vcl◇▷.Graphics,
 Vcl.Controls▽○◇, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdBaseComponent,
 IdComponent, IdCustomTCPServer, IdCustomHTTPServer-▽▽, IdHTTPServer…□■★, IdContext,
 IdHashSHA, IdGlobal;
type
 TForm1 = class(TForm)
 IdHTTPServer1◆★•◇: TIdHTTPServer;
 Button1: TButton;
 Memo1: TMemo▷▪;
 procedure Button1Click(Sender△▲•☆: TObject);
 procedure IdHTTPServer1CommandGet(AContext▽●: TIdContext;
 ARequestInfo: TIdHTTPRequestInfo; AResponseInfo◇○: TIdHTTPResponseInfo)☆•=;
 private
 { Private declarations }
 public
 { Public declarations }
 function SHA1(Input☆◁: String)◇-☆: String;
 function CheckSignature(ARequestInfo: TIdHTTPRequestInfo)▷=☆: boolean;
 end…■○;
var
 Form1: TForm1★△▲▽;
Const
 Token = 'weixin'◆△▲◁;;
implementation
{$R *▲•.dfm}
function TForm1.SHA1(Input□-: String)△☆: String;
begin
 with TIdHashSHA1△…★….Create do
 try
 Result △•■:= LowerCase(HashBytesAsHex(TidBytes(Bytesof(Input))))▷…;
 finally
 Free;
 end;
end;
function TForm1.CheckSignature(ARequestInfo: TIdHTTPRequestInfo): boolean;
var
 signature, timestamp, nonce, echostr-☆●▼: String;
 tmpstr: TStringList△◇;
 temp: String;
begin
 tmpstr := TStringList.Create▽•;
 try
 signature ○▼●▷:= ARequestInfo.Params.Values['signature']-•●;
 timestamp := ARequestInfo☆◇.Params.Values['◆-◁;timestamp'];
 nonce := ARequestInfo.Params■△-.Values['nonce'];
 echostr •○▪●:= ARequestInfo.Params.Values['echostr'☆△☆▷;];
 tmpstr.Add(Token)◇•;
 tmpstr◁▽.Add(timestamp);
 tmpstr.Add(nonce);
 tmpstr.Sort;
 temp := StringReplace(tmpstr.text, #13#10, ''△-;, [rfReplaceAll])▷△;
 Result ▲…▷:= SHA1(temp) = signature;
 finally
 tmpstr.Free•○◇;
 end◆☆★★;
end;
procedure TForm1▷▼.Button1Click(Sender★▼□▷: TObject);
begin
 IdHTTPServer1.Active := True;
end;
procedure TForm1◁☆.IdHTTPServer1CommandGet(AContext: TIdContext;
 ARequestInfo: TIdHTTPRequestInfo○▼•=; AResponseInfo◆•: TIdHTTPResponseInfo)△-;
begin
 Memo1☆●◇▷.Lines.Add('●■=□;123')▷•;
 if CheckSignature(ARequestInfo) then
 if ARequestInfo.Params▼△▪.Values['echostr'] <> '□…•;'◇◁…●; then
 begin
 Memo1△●.Lines.Add(ARequestInfo.Params.Values['-▲;echostr'▲◁;]);
 AResponseInfo.ContentType := '●•;text/html□●; charset=UTF-8';
 AResponseInfo.ContentText := ARequestInfo•••★.Params.Values['echostr'];
 end;
end;
end◁△.

 

  以上就是开发微信服务器接口的实例教程的详细内容,更多请关注久澳传媒编程栏目其它相关文章◇•…!

[泰州seo公司方便久澳]开发微信服务器接口的实例教程

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。